Linux故障排查中常用的命令
文章目录
- 前言
- 常用指令
- 1. 系统状态和资源监控
- 2. 磁盘和文件系统
- 3. 网络排查
- 4. 服务和进程
- 5. 日志文件和错误信息
- 6. 性能调优和调试
- 7. 文件和目录
- 8. 系统信息
- 9. 其他调试工具
- 参考资料
前言
在问题出现时进行以下分析
- 现象是什么
- 何时出现的
- 为什么会出现
- 哪个地方的问题
- 如何解决
常用指令
在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