メモリは使用されなくなりましたが、まだ割り当てられています。

メモリは使用されなくなりましたが、まだ割り当てられています。

私の記憶に奇妙なことが起こりました。

私はUbuntu 14.04サーバーとZimbra 8.6を持っており、カーネル(このサーバーの場合)は3.13.0-37-genericです。しかし、他のカーネルで問題を見たことがあります。

メモリとスワップ領域がいっぱいです。

$ free
             total       used       free     shared    buffers     cached
Mem:       6112624    5991208     121416         88       4752      79224
-/+ buffers/cache:    5907232     205392
Swap:      3905532    3624768     280764

ジンブラが私の記憶をすべて食べると思ったが、奇妙にもそうではないようだ。

# ps -A --sort -rss -o comm,pmem | head -n 11
COMMAND         %MEM
java            10.6
clamd            4.7
mysqld           3.0
java             2.0
slapd            1.2
/opt/zimbra/ama  1.1
/opt/zimbra/ama  1.0
/opt/zimbra/ama  1.0
/opt/zimbra/ama  1.0
/opt/zimbra/ama  0.9

私のすべてのプロセスはメモリの半分を占めています。私のバッファとキャッシュはほとんど何もしません。

Zimbraを停止しても、まだ3.5GBが使用されます。

# ps -A --sort -rss -o comm,pmem | head -n 12
COMMAND         %MEM
bash             0.0
bash             0.0
bash             0.0
sudo             0.0
rsyslogd         0.0
http             0.0
http             0.0
htop             0.0
init             0.0
ps               0.0

再起動後、200Mb未満のメモリが使用されます。

サーバーは139日間実行され、メモリ使用量は毎日少しずつ増加しました。

だから私の質問は:何がすべてのメモリを占めるのですか?

1を編集し、いくつかの情報を追加します。

$ ls -l /dev/shm
lrwxrwxrwx 1 root root 8 mai    2 12:46 /dev/shm -> /run/shm

$ ipcs 
------ Shared Memory Segments --------
key        shmid      owner      perms      bytes      nattch     status      

------ Semaphore Arrays --------
key        semid      owner      perms      nsems     

------ Message Queues --------
key        msqid      owner      perms      used-bytes   messages    


$ df 
Filesystem                  1K-blocks     Used Available Use% Mounted on
udev                 3051744         4    3051740   1% /dev
tmpfs                 611260       496     610764   1% /run
/dev/sda2           14287344   2765996   10772548  21% /
none                       4         0          4   0% /sys/fs/cgroup
none                    5120         0       5120   0% /run/lock
none                 3056288         0    3056288   0% /run/shm
none                  102400         0     102400   0% /run/user

再起動後(Zimbra起動):

$ free
             total       used       free     shared    buffers     cached
Mem:       6112576    5712908     399668        832     237892    1829424
-/+ buffers/cache:    3645592    2466984
Swap:      3905532          0    3905532

RAMの一部のグラフ(12時30分頃にサーバーを再起動しました):

メモリ使用量

2番目のグラフは、次の結果を示しています。

ps aux |awk '{s+=$4} END {print s}'

第三に、結果:

smem -tw |grep -v Area | sed 's/ //;s/ //'

ベストアンサー1

隠れ家。

良いまとめがありますhttp://www.linuxatemyram.com/

Linux は、ディスクキャッシュに使用されていないメモリを借りています。これはメモリが不足しているように見えますが、そうではありません!すべて大丈夫です!

キャッシュをクリアするには、rootとしてこのコマンドを使用して、結果のメモリ使用量を観察します。

echo 3 > /proc/sys/vm/drop_caches

おすすめ記事