监测服务器资源使用情况 Linux top命令详解

时间:2023-01-06 21:04:55

free 查看总内存,使用空闲情况

 

vmstat - 查看CPU使用率、内存情况、IO读写情况

 

ethtool - 查看网卡宽带大小

 

top - 实时显示系统中各个进程的资源占用状况

常用操作
  • m:切换显示内存信息。
  • t:切换显示进程和CPU状态信息。
  • c:切换显示命令名称和完整命令行。
  • M:根据驻留内存大小进行排序。
  • P:根据CPU使用百分比大小进行排序。
  • T:根据时间/累计时间进行排序。
  • W:将当前设置写入~/.toprc文件中。
  • E:切换顶部内存信息单位(k,m,g,t,p)
  • e:切换底下进程信息单位(k,m,g,t,p)
  • 1:可监控每个逻辑CPU的状况

Linux top命令详解

Linux Load Average过高多少合适?

一般的进程需要消耗CPU、内存、磁I/O、网络I/O等资源,在这种情况下,平均负载就不是单独指的CPU使用情况。

即内存、磁盘、网络等因素也可以影响系统的平均负载值。 在单核处理器中,平均负载值1或者小1的时候,系统处理进程会非常轻松,即负载很低。

当达3的时候,就会显得很忙,达5或8的时候就不能很好的处理进程了(其58目前还是个争议的阈值,为了保守起见,建议选择低的)。

核CPU的话,满负荷状态的数字为 "1.00 * CPU核数",即双核CPU为2.00,四核CPU为4.00。

 
 

高阶

iostat - 统计CPU和设备I/O使用情况

一款Linux下的io性能监控软件,用于统计CPU使用情况和块设备I/O情况
yum -y install sysstat
默认输出有三大部分:
  • 系统信息:内核版本、当前日期、CPU架构、CPU核数目;
  • CPU使用统计信息:用户进程使用率、系统使用率、空闲率等;
  • 块设备I/O统计信息:每秒读写的数据量、总读写数据量等。
 

pidstat - 监控进程的资源使用情况

pidstat 命令是 sysstat 工具的一个命令,用来监控全部或者指定进程的CPU、内存、线程、设备IO等系统资源的占用情况。
  • -u 默认的参数,显示各个进程的CPU使用统计
  • -r 显示各个进程的内存使用统计
  • -d 显示各个进程的IO使用情况
  • -p 指定进程号
  • -w 显示每个进程的上下文切换情况
  • -t 显示选择任务的线程的统计信息外的额外信息
  • -l:显示命令名和所有参数
  • -C:匹配命令名
 

htop - 可以动态观察系统进程状况

top是linux下常用的监控程序,htop相当于其加强版,颜色显示不同参数,且支持鼠标操作。
  • M :按内存占用排序
  • P :按CPU排序
  • H :显示/隐藏用户线程
  • t : 显示树形结构
  • l :显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件
yum -y install epel-release && yum install -y htop
 

iotop - 监控进程磁盘读写情况

iotop 是用于查看硬盘操作的工具,可显示 Linux 系统上哪些进程执行最多的 I/O。
yum -y install iotop
控件:左右箭头更改排序列,r 反转排序顺序,o/p /a 切换对应选项,q 退出,任何其他键强制刷新。
选项:
  • -h, --help 显示此帮助信息并退出
  • -o, --only 仅显示实际执行 I/O 的进程或线程
  • -p PID, --pid=PID 要监控的进程/线程[全部]
  • -u USER, --user=USER 要监控的用户 [all]
  • -P, --processes 只显示进程,不显示所有线程
  • -a, --accumulated 显示累计 I/O 而不是带宽
 

iftop - 监控本机网络流量情况

Iftop 主要用来显示本机网络流量情况及各相互通信的流量集合,如单独同那台机器间的流量大小,非常适合于代理服务器和 iptables 服务器使用。
yum -y install epel-release && yum -y install iftop
直接执行iftop即可
 
 

更多

dstat - 实时监测网络的状态

yum -y install dstat
 

nload - 实时统计网卡带宽使用率

yum -y install nload
nload em1
 

nethogs - 监控进程带宽占用情况

Nethogs 是一个终端下的网络流量监控工具,它的特别之处在于可以显示每个进程的带宽占用情况,这样可以更直观获取网络使用情况。它支持 IPv4 和 IPv6 协议、支持本地网卡及 PPP 链接。
yum -y install epel-release && yum -y install nethogs
直接执行 nethogs 可以显示每个进程的带宽占用情况
nethogs 后面直接加网卡名称可以监控该网卡
nethogs 加-d参数指定多长时间刷新一次