2017-04-21 97 views
1

我有一個碼頭集羣CE設置EC2。 我有兩個節點。 1名經理和1名工人。 主機實例類型是Alpine Linux。如何清除碼頭集裝箱內的緩存內存

在管理器主機的內存使用情況是:

~ $ free -m 
        total  used  free  shared buffers  cached 
Mem:     7972  4996  2975  715  178  2857 
-/+ buffers/cache: 1960  6011 
Swap:     0   0   0 

〜$

現在,當我登錄容器,

~ $ docker exec -it c7cc255aca1f /bin/bash 
[[email protected] /]# 

And see the memory utilization: 

[[email protected] /]# free -m 
       total  used  free  shared buff/cache available 
Mem:   7972  1654  2970   715  3347  5269 
Swap:    0   0   0 
[[email protected] /]# 

請幫助我如何清除BUFF /緩存或緩存?

回答

0

要清除高速緩存,請參閱https://unix.stackexchange.com/questions/17936/setting-proc-sys-vm-drop-caches-to-clear-cache

通過要刪除緩存,爲什麼呀?我確定你不想放棄緩存(除非你正在做一些讀基準,比如dd)。

你的緩存會盡快進程需要的內存釋放出來。它旨在使用所有可用內存。在Linux下,它是完全確定,沒有「自由」運行內存(一free指「自由」),只要你有足夠的available(或total - - buffers/cache就足夠了)。

也強烈建議增加SWAP(即使你不想換),以防止OOM的情況。只要創建一個交換文件的地方,和vm.swappinesssysctl參數設置爲0所以如果仍有RAM可用內存也不會被使用。