打开终端敲个top,发现负载飙到十几甚至几十,整个系统卡得动都动不了,这时候先别乱重启,一步步看清楚谁在作怪。top命令默认就是按CPU使用率排序的,第一行就能看到整体的负载情况,直接看排在最上面的进程,就能找到占资源最多的那个。
很多时候是某个进程意外泄漏了内存或者CPU,碰到这种情况,记下来进程PID,先给它一个温和的终止信号kill PID,要是杀不掉再用kill -9 PID强制杀死,一般杀完异常进程系统负载就立马下来了。
要是你觉得top不够直观,可以换用htop,界面更友好,还能用鼠标点击排序,新手用起来也顺手。还有一个很实用的命令free -h,直接就能看出当前系统内存和交换分区的使用情况,是不是内存真的被占满了一眼就能看出来。
碰到磁盘满了的故障也很常见,很多人找半天不知道哪里占了空间,敲入df -h就能看到每个挂载分区的使用率,哪个分区满了直接就能找到。然后进到那个分区,用du -sh *排序就能找到哪个目录占的空间最大,慢慢往下找总能挖到那个占了几十G的日志文件或者缓存文件,清理完就好了。这里要提醒一句,有些进程删除了文件但是还没释放句柄,你用df看磁盘还是满的,这时候用lsof | grep deleted就能找到这些占着空间的进程,重启对应的服务就能把空间释放出来了,别傻乎乎到处找文件。