Linux系统内存持续飙高,如何排查

若一台服务器内存使用率持续处于高峰值,可能会导致响应慢(如:ssh操作卡顿、用户访问失败或超时等)

1.查看系统内存使用情况

free -m

2.查看哪些进程内存占用比较高

top
或htop

观察进程PID和命令确认是哪一个进程占用内存较高

3.解决方法

  • 情况一:

        应用程序访问量小,但依然占用过高内存,通常是bug导致,需要检查代码调用有无及时释放,其中内存型应用程序,例如Java,自身管理内存,设置初始值内存2G,启动后Java自行管理回收,一直会被占用

  • 情况二:

        应用程序访问量较大,正常范围,需要增加服务器硬件配置或组建服务器集群

4.物理内存使用满时会发生的问题

  • 情况一:

        未启用swap分区,导致系统触发OOM,杀掉一或多个进程来释放内存,造成不好影响,用户无法访问,进程挂了,通过系统日志查看OOM触发信息

  • 情况二:

        启用了swap分区(物理内存不足,将内存中数据交换到swap分区处理),由于swap分区本身借助硬盘,性能比内存差几到几十倍,会降低系统处理性能,导致处理慢


目前企业中多关闭swap分区提高性能,需及时监控物理内存,不足时通过人工处理一些进程,或迁移个别服务至别的服务器,保证物理内存资源充足,方便调用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值