M
,按CPU排序按P
)缓存占用过高
echo 3 > /proc/sys/vm/drop_caches
临时释放(生产环境慎用)内存泄漏
smem
或ps aux --sort=-%mem
找出内存占用高的进程valgrind
检测内存泄漏交换空间使用频繁
swappiness
值:cat /proc/sys/vm/swappiness
sysctl vm.swappiness=10
/etc/sysctl.conf
中添加vm.swappiness=10
CPU使用率过高
top
或htop
找出高CPU进程strace -p <PID>
或perf top -p <PID>
分析进程行为系统负载高但CPU使用率不高
iotop
或iostat -x 1
pidstat
或perf
分析中断过多
cat /proc/interrupts
内核参数调优
# 编辑/etc/sysctl.conf
vm.overcommit_memory = 2
vm.overcommit_ratio = 80
kernel.panic = 10
kernel.panic_on_oops = 1
服务优化
定期维护
容器化应用
安装监控工具
设置告警
日志集中管理
通过以上方法,您可以系统地诊断和解决Linux系统资源占用过高的问题,并建立长期监控机制预防类似问题发生。