linux系统监视(centos 7)
一.系统监视
1.安装iostat,sar,sysstat(默认没有,安装过可以跳跃)
iostat 和 sar:
- 同样,
iostat
和sar
是sysstat
软件包的一部分。使用以下命令安装:解释:sudo yum install sysstat
sudo yum install sysstat
:通过yum
包管理器安装sysstat
软件包,安装完成后,iostat
和sar
命令就可以使用。netstat:
netstat
命令通常包含在net-tools
软件包中。使用以下命令安装:解释:sudo yum install net-tools
sudo yum install net-tools
:安装net-tools
软件包,之后你就可以使用netstat
命令进行网络状态的查看和统计信息的分析。
2.运用命令
一)使用top
命令进行系统监视
top -d 5
- 解释:以 5 秒为间隔更新系统进程信息来监视系统。这样可以实时观察到系统在一段时间内各个进程的资源占用情况,如 CPU 使用率、内存使用率等动态变化。例如,当你怀疑系统性能在某段时间内下降,可能是因为某个进程占用过多资源,通过这个命令就可以持续观察来找出这个进程。
top -u username
:
- 解释:监视指定用户(这里的
username
为具体用户名)的进程。比如在多用户系统环境中,如果你想查看某个特定用户正在运行的进程对系统资源的占用情况,就可以使用这个命令。假设在一个服务器环境中,你想查看某个用户运行的大量数据处理程序是否对系统造成压力,就可以使用这个命令来聚焦观察。
(二)使用vmstat
命令进行系统监视
vmstat 3 5
:
- 解释:每隔 3 秒输出一次系统的虚拟内存统计信息,一共输出 5 次。这些信息包括内存使用情况(如空闲内存、缓存内存等)、交换空间使用情况、CPU 活动信息等。例如,当你需要评估系统的内存性能,或者判断系统是否需要增加内存时,这个命令可以提供有用的数据。如果发现交换空间(swap)频繁被使用,可能表示系统内存不足。
vmstat -s
:
- 解释:显示虚拟内存的统计摘要信息,包括总的内存大小、已使用内存量、缓存大小等一次性输出。这可以帮助你快速了解系统的整体内存资源配置情况。比如,你在新安装一个系统后,想快速查看系统的内存容量等基本信息,就可以使用这个命令。
(三)使用iostat
命令进行系统监视
iostat -x 2 10
:
- 解释:每隔 2 秒输出一次扩展的磁盘 I/O 统计信息,共输出 10 次。扩展信息包括磁盘读写请求的平均等待时间、平均每次传输的扇区数等。例如,当你感觉系统磁盘 I/O 性能变慢,使用这个命令可以观察磁盘的读写性能指标,判断是哪个磁盘设备出现问题或者是否存在 I/O 瓶颈。
iostat -d /dev/sda
:
- 解释:只显示指定磁盘设备(这里是
/dev/sda
)的基本磁盘 I/O 统计信息,如每秒的读写次数、每秒的读写数据量等。如果你知道系统主要的数据存储磁盘是/dev/sda
,并且怀疑这个磁盘的性能有问题,就可以使用这个命令来针对性地监视它。
(四)使用sar
命令进行系统监视
sar -u 1 10
:
- 解释:每隔 1 秒输出一次 CPU 使用率的统计信息,共输出 10 次。这可以帮助你观察 CPU 在短时间内的使用波动情况。例如,当系统出现间歇性卡顿,通过这个命令可以查看是否是 CPU 使用率的瞬间飙升导致的。
sar -r
:
- 解释:显示内存使用情况的统计信息,包括内存的使用率、空闲内存量等。这对于长期监测系统内存资源的使用趋势很有用。比如,在一个长时间运行的服务器上,定期运行这个命令可以帮助你提前发现内存资源紧张的情况。
(五)使用netstat
命令进行系统监视
netstat -antp
:
- 解释:显示所有的网络连接(包括 TCP 和 UDP)、监听端口、对应的进程和 PID。这对于监视网络服务和网络连接情况非常有用。例如,如果你在服务器上运行了多个网络服务,如 Web 服务、邮件服务等,使用这个命令可以查看这些服务的监听端口是否正常打开,以及是否存在异常的网络连接。
netstat -s
:
- 解释:显示网络统计信息的摘要,如各种协议(TCP、UDP、ICMP 等)的数据包发送和接收数量、错误数量等。这可以帮助你了解网络的整体运行状况,例如是否存在网络通信故障或者网络攻击的迹象。