菜鸟科技网

服务器巡检常用命令有哪些?

服务器巡检是确保系统稳定运行的关键环节,通过执行特定命令可以实时监控硬件状态、系统性能、服务运行情况及日志信息,及时发现潜在问题,以下从硬件、系统、服务、网络及日志五个维度,详细介绍常用服务器巡检命令及使用场景。

服务器巡检常用命令有哪些?-图1
(图片来源网络,侵删)

硬件状态巡检命令

硬件是服务器运行的基础,需重点检查CPU、内存、磁盘及电源等部件状态。

  1. CPU及温度监控

    • lscpu:查看CPU架构、核心数、线程数等信息。
    • cat /proc/cpuinfo:获取详细CPU参数,如型号、主频等。
    • sensors:需安装lm_sensors工具,实时监控CPU及主板温度(如Core 0: +45°C)。
    • tophtop:动态查看CPU使用率,按1可切换至各核心监控界面。
  2. 内存使用情况

    • free -h:以人类可读格式(如GB、MB)显示内存总量、已用、空闲及缓存情况。
    • cat /proc/meminfo:查看内存详细信息,包括Swap分区使用状态。
  3. 磁盘及存储健康

    服务器巡检常用命令有哪些?-图2
    (图片来源网络,侵删)
    • df -h:检查各文件系统磁盘空间使用率,重点关注根目录()和/var分区。
    • lsblk:列出块设备信息,包括磁盘类型(如HDD、SSD)、分区及挂载点。
    • smartctl -a /dev/sda:需安装smartmontools,通过S.M.A.R.T.技术检测磁盘健康状态(如Reallocated_Sector_Ct指标)。

系统性能巡检命令

系统性能直接影响服务响应速度,需关注负载、进程及资源占用情况。

  1. 系统负载

    • uptime:显示当前系统负载(1分钟、5分钟、15分钟平均值),负载值应不超过CPU核心数。
    • vmstat 1 5:每秒采集一次数据,共5次,查看进程(r列)、阻塞(b列)及内存(swpdfree)状态。
  2. 进程资源占用

    • ps -ef | grep java:查找特定进程(如Java应用)的PID及资源占用。
    • pidstat -p <PID> -u 1:监控指定进程的CPU、IO及上下文切换情况。

服务运行状态巡检

服务异常是导致业务中断的常见原因,需定期检查关键服务进程。

服务器巡检常用命令有哪些?-图3
(图片来源网络,侵删)
  1. 系统服务状态

    • systemctl status nginx:查看nginx服务的运行状态(active (running))、进程ID及最近日志。
    • service --status-all:列出所有系统服务,标记为的服务表示正在运行。
  2. 端口监听情况

    • netstat -tulnp:查看所有监听(LISTEN)的端口及对应进程(如80对应nginx进程)。
    • ss -tulnp:比netstat更高效,支持显示TCP、UDP端口状态。

网络连通性及配置巡检

网络问题可能导致服务不可达,需检查连通性、带宽及配置。

  1. 网络连通性测试

    • ping -c 4 8.8.8.8:向目标服务器发送4个ICMP包,统计丢包率及延迟(如time=10.2 ms)。
    • traceroute -w 1 8.8.8.8:跟踪到目标服务器的路由路径,定位网络延迟节点。
  2. 网络接口及带宽

    • ip addr show:查看网络接口IP地址、子网掩码及状态(如UPDOWN)。
    • iftop -i eth0:实时监控eth0网卡的带宽使用情况,显示实时流量及连接状态。

系统日志巡检

日志是排查问题的重要依据,需重点关注错误及异常信息。

  1. 系统日志

    • journalctl -xe -u nginx:查看nginx服务的详细日志,-e显示末尾行,-x显示额外字段。
    • tail -f /var/log/messages:实时监控系统核心日志,查看硬件、驱动相关错误。
  2. 应用日志

    • grep "ERROR" /var/log/app.log | tail -10:过滤应用日志中的错误信息,查看最近10条记录。

巡检结果记录与对比

建议将巡检结果记录至表格,便于长期对比分析趋势:

巡检项 命令示例 正常值参考 异常处理建议
CPU使用率 top -bn1 grep "Cpu(s)" <70%
内存使用率 free -m grep "Mem" awk '{print $3/$2*100}'
磁盘空间 df -h grep "/" awk '{print $5}'
关键服务状态 systemctl is-active nginx active 若为inactive,重启服务并检查日志

相关问答FAQs

Q1: 如何快速定位导致CPU 100%的进程?
A: 可通过top -bn1查看进程列表,找到%CPU列最高的进程PID;或使用pidstat -p <PID> -t进一步分析该进程的线程占用情况,结合jstack <PID> > thread.log生成线程快照,定位具体代码问题。

Q2: 服务器磁盘IO性能差时,如何判断是磁盘故障还是应用读写过多?
A: 先执行iostat -xz 1查看磁盘设备(如sda)的await(平均等待时间)和util(利用率),若util接近100%且await较高,说明IO请求过多,需检查应用是否频繁读写;若util正常但await很高,可能是磁盘物理故障,需用smartctl检测S.M.A.R.T.参数或更换磁盘。

分享:
扫描分享到社交APP
上一篇
下一篇