服务器内存使用过高但找不到进程_linux服务器内存不够用怎么办?

服务器随着运行时间的增加,占用内存会逐渐增加。如果服务器内存小,就很容易出现内存占满,系统变慢,甚至是卡死的情况。一个办法是增加物理内存,但这涉及到费用、停机、开机箱等。这里有一个处理方案,可供借鉴。效果好的话,可以不用买内存条了哈哈。

如果你分析各个进程占用内存大小,然后把它们加一起,发现并不等于总占用内存的大小。那为什么free -m指令显示剩余的内存那么小呢?内存用来做什么了呢?

原来操作系统运行中会自己选择部分数据缓存到内存中,free -m结果中

-/+ buffers/cache: 后面统计的就是缓存数据的情况

d5d54b51e649b8748530c22bdb540a80.png

缓存使用的物理内存加上进程占用物理内存,才是总的物理内存。

为了保护服务不会因为物理内存占用过高而卡死,可以定时计划crontab中每隔一小时清空操作系统的缓存数据,配置如下。表示每当到整点的45分时,执行

echo 3 > /proc/sys/vm/drop_caches 命令,清除操作系统缓存。

[root@localhost ~]# crontab -l

45 * * * * echo 3 > /proc/sys/vm/drop_caches

事实表明,清除缓存不但没有降低系统的速度,速度还明显提高了。当然,我的实验场景是物理内存本来就小只有8G,并且系统访问用户不大的情况。其它系统是否适用还没有数据支持。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值