我在EC2中有一个docker swarm CE设置。 我有两个节点。 1名经理和1名工人。 主机实例类型是Alpine Linux。
在Manager主机中,内存使用情况为:
~ $ 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
[root@c7cc255aca1f /]#
And see the memory utilization:
[root@c7cc255aca1f /]# free -m
total used free shared buff/cache available
Mem: 7972 1654 2970 715 3347 5269
Swap: 0 0 0
[root@c7cc255aca1f /]#
请帮我解决如何清除缓存/缓存或缓存?
答案 0 :(得分:0)
要清除缓存,请参阅docs。
顺便问一下为什么要删除缓存?我确定你不想删除缓存(除非你正在做一些读取基准测试,比如dd
)。
只要进程需要内存,您的缓存就会被释放。它旨在使用所有可用内存。在Linux下,只要你有足够的free
(或available
- {{},就可以在没有“免费”内存的情况下运行(total
称为“免费”) 1}}就足够了。
强烈建议添加SWAP(即使您不想交换)以防止OOM情况。只需在某处创建一个交换文件,并将- buffers/cache
vm.swappiness
参数设置为sysctl
,这样如果仍有可用的RAM内存,它将不会被使用。