当前位置:首页>Linux>Linux出问题就慌神不知道怎么下手 这些处理思路快存好太实用了

Linux出问题就慌神不知道怎么下手 这些处理思路快存好太实用了

  • 2026-10-09 20:42:49
Linux出问题就慌神不知道怎么下手 这些处理思路快存好太实用了
排查故障先从系统日志开始找线索

大部分故障刚出现的时候,都不会直接告诉你问题出在哪,先翻日志总没错。Linux最核心的系统日志默认存在/var/log/messages里,所有系统级的启动、服务运行、硬件报错都会往这里写。你只要敲入tail -f /var/log/messages,就能实时看到最新的日志输出,很多时候服务启动失败,直接就能在这里看到报错原因,缺依赖还是权限不对一目了然。

除了系统日志,不同服务还有自己的专属日志,比如Nginx会把日志存在/var/log/nginx/,Apache在/var/log/httpd/,数据库 MySQL 一般在/var/log/mysql/。出问题先翻对应服务的日志,比你瞎猜半天有用多了。

碰到日志文件太大打不开怎么办?不用硬扛着打开整个文件,用grep把报错关键词筛出来就好,比如想找和内存相关的报错,直接敲grep -i oom /var/log/messages,瞬间就能把系统因为内存不够杀进程的记录都挑出来,省了多少翻页的功夫。

系统负载超高先搞清楚是谁在抢资源

打开终端敲个top,发现负载飙到十几甚至几十,整个系统卡得动都动不了,这时候先别乱重启,一步步看清楚谁在作怪。top命令默认就是按CPU使用率排序的,第一行就能看到整体的负载情况,直接看排在最上面的进程,就能找到占资源最多的那个。

很多时候是某个进程意外泄漏了内存或者CPU,碰到这种情况,记下来进程PID,先给它一个温和的终止信号kill PID,要是杀不掉再用kill -9 PID强制杀死,一般杀完异常进程系统负载就立马下来了。

要是你觉得top不够直观,可以换用htop,界面更友好,还能用鼠标点击排序,新手用起来也顺手。还有一个很实用的命令free -h,直接就能看出当前系统内存和交换分区的使用情况,是不是内存真的被占满了一眼就能看出来。

碰到磁盘满了的故障也很常见,很多人找半天不知道哪里占了空间,敲入df -h就能看到每个挂载分区的使用率,哪个分区满了直接就能找到。然后进到那个分区,用du -sh *排序就能找到哪个目录占的空间最大,慢慢往下找总能挖到那个占了几十G的日志文件或者缓存文件,清理完就好了。这里要提醒一句,有些进程删除了文件但是还没释放句柄,你用df看磁盘还是满的,这时候用lsof | grep deleted就能找到这些占着空间的进程,重启对应的服务就能把空间释放出来了,别傻乎乎到处找文件。

网络连不通排查按这个步骤走

不管是外部机器连不上服务器,还是服务器上不了网,按照这个步骤一步步来,基本都能找到问题。先看最基础的,网卡有没有正常获取IP,敲ip addr就能看到所有网卡的配置,看看对应网卡有没有拿到正确的IP地址,要是没拿到,先看网线有没有插好,虚拟机的话看看网卡配置是不是对的。

IP没问题,接下来测连通性,先ping网关,网关能通的话说明你机器到路由器是正常的,再ping外部的IP,比如ping 114.114.114.114,能通说明IP层面的连通性没问题,要是IP能通但是域名打不开,那就是DNS解析出问题了,去看/etc/resolv.conf里面的DNS配置对不对,换上公共DNS试试就好了。

要是端口不通,比如外部机器访问不了服务器上的80端口,先在服务器本地用telnet 127.0.0.1 80试试,本地能通说明服务本身没问题,那就是防火墙的问题了。检查一下iptables或者firewalld有没有放开对应端口,很多新手刚装完系统,服务起来了但是防火墙没开端口,外部就是访问不了,折腾半天其实就改个防火墙配置的事。

还可以用netstat -tulpn或者ss -tulpn看看端口有没有被正确监听,要是你想找的80端口根本不在列表里,那就是服务根本没启动成功,回到第一步翻服务日志找问题去吧。

启动故障进不了系统按这个思路修

机器重启之后进不了系统,卡在启动界面了,先别慌,大多都是文件系统出了问题,非正常关机之后很容易碰到这种情况。你只要进到单用户模式,或者用救援盘挂载根分区之后,跑一下fsck检查修复文件系统就好了,按照提示输入y确认修复,一般都能修好,修复完重启基本就能正常进系统了。

要是升级内核之后启动不了,大概率是grub配置出问题了,你可以进grub的高级选项,选择旧的内核启动,进去之后重新配置grub,再重新安装引导就好了,别直接就想着重装系统,白瞎上面的数据。

还有一种常见情况,挂载不了磁盘,开机会提示你输入root密码进入维护模式,这时候你先看一下/etc/fstab里面的配置是不是对的,是不是改了磁盘UUID或者加了不存在的挂载分区,把不对的那行注释掉,重启就能正常进去了,进去之后再改对配置就好了。

大部分Linux故障都不是什么大问题,只要顺着日志、资源、网络这个路径一步步排查,都能找到问题根源。别一碰到问题就慌,乱重启乱改配置反而可能把小问题弄成大故障,先看日志找线索,再一步步验证,慢慢你就会发现,常见故障翻来覆去就是那么几种,处理多了自然就熟了。

最新文章

随机文章