自学内容网 自学内容网

Linux故障排查中常用的命令


前言

在问题出现时进行以下分析

  1. 现象是什么
  2. 何时出现的
  3. 为什么会出现
  4. 哪个地方的问题
  5. 如何解决

常用指令

在Linux系统中进行故障排查时,有很多常用的命令可以帮助你快速定位和解决问题。以下是一些常用的排查命令,按功能分类:

1. 系统状态和资源监控

  • top:实时显示系统的进程、CPU、内存等资源使用情况。
    top
    
  • htop:类似于 top,但界面更加友好,支持交互操作(如果没有安装可以通过 sudo apt install htop 安装)。
    htop
    
  • free:查看系统内存和交换空间的使用情况。
    free -h
    
  • vmstat:显示虚拟内存、进程、I/O、系统等统计信息。
    vmstat
    
  • uptime:查看系统的运行时间、当前时间、系统负载。
    uptime
    
  • iostat:查看CPU和I/O设备的使用情况。
    iostat
    

2. 磁盘和文件系统

  • df:显示文件系统的磁盘使用情况。
    df -h
    
  • du:查看某个目录下文件和子目录的磁盘使用情况。
    du -sh /path/to/directory
    
  • lsblk:列出所有的块设备及其挂载点。
    lsblk
    
  • fdisk -l:列出所有的分区和磁盘设备信息。
    sudo fdisk -l
    
  • smartctl:检查硬盘健康状况。
    sudo smartctl -a /dev/sda
    
  • fsck:检查和修复文件系统错误。
    sudo fsck /dev/sda1
    

3. 网络排查

  • ifconfig / ip a:查看网络接口配置和IP地址信息。
    ifconfig
    ip a
    
  • ping:测试主机之间的网络连通性。
    ping <hostname or IP>
    
  • traceroute:查看数据包从源到目的地的路径,诊断网络中的延迟或路由问题。
    traceroute <hostname or IP>
    
  • netstat / ss:查看网络连接、端口和路由信息。
    netstat -tuln
    ss -tuln
    
  • route:查看路由表。
    route -n
    
  • nslookup / dig:DNS查询工具,查看域名解析是否正常。
    nslookup <hostname>
    dig <hostname>
    

4. 服务和进程

  • ps:查看当前运行的进程。
    ps aux
    
  • top:查看系统的实时进程状态和资源使用情况。
    top
    
  • systemctl:管理和查看 systemd 管理的服务。
    systemctl status <service_name>
    systemctl restart <service_name>
    
  • service:老式的服务管理命令,用于启动、停止服务。
    service <service_name> status
    service <service_name> restart
    
  • kill / killall:终止进程。
    kill <pid>           # 根据PID终止进程
    killall <process_name>  # 根据进程名称终止所有相关进程
    

5. 日志文件和错误信息

  • dmesg:显示内核缓冲区的日志信息,常用于查看硬件、驱动、启动等问题。
    dmesg | tail
    
  • journalctl:查看 systemd 日志,支持过滤和查看详细信息。
    journalctl -xe   # 查看系统日志
    journalctl -u <service_name>  # 查看某个服务的日志
    
  • tail:查看文件的尾部内容,常用于查看日志文件的最新输出。
    tail -f /var/log/syslog
    tail -f /var/log/messages
    

6. 性能调优和调试

  • strace:跟踪系统调用和信号,适用于调试应用程序。
    strace -p <pid>   # 追踪某个进程
    strace <command>  # 追踪执行的命令
    
  • lsof:列出当前打开的文件和占用这些文件的进程。
    lsof
    
  • netstat:查看网络连接和端口占用情况。
    netstat -tuln
    

7. 文件和目录

  • find:查找文件和目录。
    find /path/to/search -name "*.log"
    
  • locate:查找文件,利用预先构建的数据库,速度比 find 快。
    locate <filename>
    
  • grep:在文件中搜索指定的文本。
    grep "error" /var/log/syslog
    

8. 系统信息

  • uname:查看系统的基本信息。
    uname -a   # 查看操作系统内核、架构等信息
    
  • lscpu:查看CPU架构和信息。
    lscpu
    
  • lsusb:查看USB设备信息。
    lsusb
    
  • lspci:查看PCI设备信息。
    lspci
    

9. 其他调试工具

  • watch:定时执行某个命令,常用于实时监控某些系统状态。
    watch -n 1 df -h
    
  • atop:高级的性能监控工具,提供更详细的系统资源统计信息。
    atop
    

参考资料

https://www.jianshu.com/p/0bbac570fa4c

https://potatoes.blog.csdn.net/article/details/122744731

https://blog.csdn.net/YourMr/article/details/136645800

https://blog.csdn.net/wzk4869/article/details/132855372


原文地址:https://blog.csdn.net/qq_46302361/article/details/143759031

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!