系统资源命令
系统资源查看
vmstat命令
显示内存、分页、块传输和CPU活动的相关信息,评估cpu性能
#vmstat [刷新延时 刷新次数]
# 使用vmstat检测,每1秒刷新一次,一共刷新3次
vmstat 1 3
结果信息
procs 进程
- r 等待运行的进程数,数量越大,系统越繁忙
- b 不可唤醒的进程数,数量越大,系统越繁忙
**memory ** 内存
- swpd 虚拟内存的使用情况,单位kb
- free 空闲的内存容量,单位kb
- buff 缓冲的内存容量,单位kb
- cache 缓存的内存容量,单位kb
swap 交换分区,这两个数越大,说明数据经常在内存和磁盘中交换,性能较差
- si 从磁盘中交换到内存中的数据的容量
- so 从内存中交换到磁盘中的数量
**io ** 磁盘IO,这两个数越大,代表磁盘IO越繁忙
- bi 从块设备读入数据的总量
- bo 写入块设备的数据的总量
system 系统信息,这两个数越大,表示系统与接口设备的通信越繁忙
- in 每秒被中断的进程次数
- cs 每秒进行事件切换次数(上下文切换的次数)
cpu CPU信息
- us 用户进程消耗CPU运算时间的百分比
- sy 内核进程消耗CPU运算时间的百分比
- id 空闲CPU的百分比
- wa 等待IO所消耗的CPU百分比
- st 被虚拟机所盗用的CPU占比
iostat命令
显示平均磁盘活动和处理器负载情况
#iostat [刷新延时 刷新次数]
# 使用iostat检测,每1秒刷新一次,一共刷新3次
iostat 1 3
%user 在用户级别执行
%nice 以nice优先方式在用户级别执行
%system 在系统级别执行(内核进程)
%iowait 等待IO
%steal 等待虚拟进程
%idle 空闲时间
ifstat命令
网络io
ifstat
iftop命令
iftop -ieth1 -nP
-i设定监测的网卡,如:# iftop -i ens33
-B 以bytes为单位显示流量(默认是bits),如:# iftop -B
-n使host信息默认直接都显示IP,如:# iftop -n
-N使端口信息默认直接都显示端口号,如: # iftop -N
-F显示特定网段的进出流量,如# iftop -F 10.10.1.0/24或# iftop -F 10.10.1.0/255.255.255.0
-h(display this message),帮助,显示参数信息
-p使用这个参数后,中间的列表显示的本地主机信息,出现了本机以外的IP信息;
-b使流量图形条默认就显示;
-f这个暂时还不太会用,过滤计算包用的;
-P使host信息及端口信息默认就都显示;
-m设置界面最上边的刻度的最大值,刻度分五个大段显示,例:# iftop -m 100M
进入iftop页面后还可以对页面进行调整,参数如下
按h切换是否显示帮助;
按n切换显示本机的IP或主机名;
按s切换是否显示本机的host信息;
按d切换是否显示远端目标主机的host信息;
按t切换显示格式为2行/1行/只显示发送流量/只显示接收流量;
按N切换显示端口号或端口服务名称;
按S切换是否显示本机的端口信息;
按D切换是否显示远端目标主机的端口信息;
按p切换是否显示端口信息;
按P切换暂停/继续显示;
按b切换是否显示平均流量图形条;
按B切换计算2秒或10秒或40秒内的平均流量;
按T切换是否显示每个连接的总流量;
按l打开屏幕过滤功能,输入要过滤的字符,比如ip,按回车后,屏幕就只显示这个IP相关的流量信息;
按L切换显示画面上边的刻度;刻度不同,流量图形条会有变化;
按j或按k可以向上或向下滚动屏幕显示的连接记录;
按1或2或3可以根据右侧显示的三列流量数据进行排序;
按<根据左边的本机名或IP排序;
按>根据远端目标主机的主机名或IP排序;
按o切换是否固定只显示当前的连接;
按f可以编辑过滤代码,这是翻译过来的说法,我还没用过这个!
按!可以使用shell命令,这个没用过!没搞明白啥命令在这好用呢!
按q退出监控
pidstat
pidstat是一个多功能的诊断工具
# 可以监控cpu
# -p 指定进程id 每秒钟采样一次,一共采样三次 -u表示对cpu使用率的监控 -t 参数将监控细化到线程级别
pidstat -p 25555 1 3 -u -t
# 也可以监控io
# -p 指定进程id 每秒钟采样一次,一共采样三次 -d表示对io的监控 -t 参数将监控细化到线程级别
pidstat -p 25555 1 3 -d -t
# 也可以内存
# -p 指定进程id 每秒钟采样一次,一共采样三次 -r表示对内存的监控 -t 参数将监控细化到线程级别
pidstat -p 25555 1 3 -r -t
free命令
显示内存使用率
free
第一行是内存信息:total表示总内存数,used表示已经使用的,free表示空闲的,shared表示多个进程共享的,buffers表示缓冲内存数,cached表示缓存内存数
第二行是缓冲缓存信息:-/buffers/cache(正在使用的) 相当于 used-buffers-cached,+/buffers/cache(可用的内存) 相当于 free+buffers+cached
第三行是分区信息:total是swap的总数,used是已经使用的,free是空闲的,当上面提到的+buffers/cache表示的可用内存都已使用完,新的读写请求过来后,会把内存中的部分数据写入磁盘,从而把磁盘的部分空间当做虚拟内存来使用
使用 free -h 可以展示为使用K或M或G为单位
查看CPU/内存信息
在/proc文件夹中有cpuinfo/meminfo可以查看CPU/内存信息
uptime命令
显示系统运行了多长时间
uptime
# 系统当前时间、系统运行了多长时间、有多少用户正在使用该系统、系统每隔1分钟、5分钟、15分钟的平均负载
# 16:49:00 up 13 days, 23:15, 2 users, load average: 0.01, 0.04, 0.04
sar命令
显示系统活动报告