Linux查看服务器状态的系列命令


作为服务器管理员,无论是排查问题还是日常维护,了解如何快速查看服务器状态是必备技能。本文将详细介绍Linux环境下查看服务器状态的一系列命令,帮助您全面掌握服务器运行状况。

1. 系统基本信息检查

uname命令用于显示系统基本信息,这是了解服务器底层的首要步骤。通过uname -a可以一次性查看所有信息:内核名称、主机名、内核版本、发行版本、硬件架构等。

对于发行版特定信息,CentOS/RHEL用户可使用cat /etc/redhat-release,而Ubuntu/Debian用户则使用cat /etc/issue查看版本详情。

uptime命令不仅显示系统运行时间,还能查看平均负载:uptime输出的内容包含当前时间、系统运行时间、登录用户数以及系统平均负载。平均负载的三个数值分别代表1分钟、5分钟和15分钟内的平均进程数,理想情况下每个核心的负载值不应长期超过1.0。

2. 硬件资源监控

内存使用情况通过free -h命令查看,-h参数使输出以人类易读格式显示。重点关注available列,这表示实际可用的内存大小。交换分区使用率过高通常提示物理内存不足。

CPU信息检查可使用lscpu命令或cat /proc/cpuinfo。这些命令输出CPU架构、核心数、线程数、型号名称和缓存大小等详细信息。了解CPU核心数对优化应用程序并发性能至关重要。

磁盘空间检查使用df -h命令。注意排查根分区和使用率较高的挂载点,避免因磁盘满导致服务异常。

3. 进程与服务管理

ps命令是查看进程状态的利器。ps aux显示所有用户的所有进程详细信息,包括CPU/内存占用、启动命令等。结合grep过滤特定进程,如ps aux | grep nginx。

top/htop命令提供实时系统监控界面。top界面中,第一行显示负载和运行时间,第二行显示任务状态,第三行显示CPU使用情况(包括用户空间、内核空间、空闲等百分比),第四行显示内存使用,第五行显示交换分区使用。

按P按CPU使用率排序,按M按内存使用率排序,按q退出。

systemctl命令管理系统服务:systemctl status service_name查看服务状态,systemctl start/stop/restart service_name启停服务,systemctl enable/disable service_name设置开机启停。

4. 网络连接与性能诊断

ss命令替代netstat查看网络连接:ss -tuln显示监听端口,ss -tun显示所有TCP/UDP连接。-t表示TCP,-u表示UDP,-l表示仅监听,-n表示以数字格式显示。

ping命令检测网络连通性:ping -c 4 target_host发送4个ICMP包测试连通性和延迟。延迟值稳定且低表示网络状况良好,波动大或丢包可能表示网络问题。

traceroute命令诊断网络路径问题:traceroute target_host显示数据包经过的每一跳,帮助定位网络故障点。

5. 性能日志与分析

dmesg命令查看内核环形缓冲区消息:dmesg | tail -20显示最近20条内核消息,常用于排查硬件设备和驱动问题。

journalctl命令查询systemd日志:journalctl -u service_name查看特定服务日志,journalctl –since “2023-11-01 00:00:00″查看指定时间后的日志,journalctl -f实时跟踪日志。

iostat命令监控磁盘I/O性能:iostat -x 1每秒显示一次详细磁盘I/O统计,关注%util表示设备利用率,过高表示磁盘瓶颈。

上一篇
下一篇
text=ZqhQzanResources