这是由于nss-softkn的已知问题引起的.看到这篇文章:
https://www.splyt.com/blog/2014-05-16-optimizing-aws-nss-softoken
当我从我的centos 6.5盒中运行free -m时,我发现我只有大约1400 mb的可用内存,包括缓存.当我做顶部时,按内存排序并添加我只看到1600左右使用的进程.我应该有更多的免费记忆.这发生在我们的几个盒子上.
[root@db1 ~]# free -m total used free shared buffers cached Mem: 7840 7793 47 0 287 1357 -/+ buffers/cache: 6148 1692 Swap: 7983 7 7976
最高输出
以下是可视化进程消耗的内存的更好方法:
解决方法
在顶部的“Mem”行中,你的内存似乎几乎是99%(7793m / 7840m),但实际上你只使用了大约78%的可用内存.有关更深入的解释,另请参阅http://www.linuxatemyram.com/.
免费vs顶级vs / proc / meminfo
进程内存.
将进程中使用的内存加起来并尝试将其与已用的已用内存相匹配将会给您带来不愉快的时间.由于顶部分页,您甚至可能无法获得此列表中的所有进程更好的方法是使用ps aux –sort -RSS按内存使用顺序排序进程.
磁盘缓存.
Linux将使用你不使用的内存来使你在幕后运行得更快.这在free的“缓存”列中有所说明,这就是为什么你应该查看“ – / buffers / cache”旁边的值来了解实际使用和可用内存.
内核块缓存.
内核模块和驱动程序也可以使用未使用的内存. “SReclaimable”是你可以在内存压力下使用的内存.有一个很酷的工具叫slabtop,可以识别内核是如何缓存的.
清除缓存.
echo 1> / proc / sys / vm / drop_caches释放pagecache
echo 2> / proc / sys / vm / drop_caches释放dentries和inode
echo 3> / proc / sys / vm / drop_caches释放pagecache,dentries和inode
也可以看看
> Meaning of the buffers/cache line in the output of free
> Explanation on Resident Set Size/Virtual Size
> Slab Allocation