系统资源命令
以后零碎负载
w查看的是整体的负载,能够来察看以后零碎有没有压力
w
第一行显示的内容顺次为:工夫、零碎运行工夫、登录用户数、均匀负载(1分钟、5分钟、15分钟)
第二行后展现的信息为:以后登录的都有哪些用户、在哪里登录的等信息
均匀负载不要高于设施外围数
系统资源查看
vmstat命令
应用vmstat命令能够更加细化w命令,来查看具体是哪里的压力
显示内存、分页、块传输和CPU流动的相干信息,评估cpu性能
#vmstat [刷新延时 刷新次数]# 应用vmstat检测,每1秒刷新一次,一共刷新3次vmstat 1 3
<!-- more -->
后果信息
procs 过程
- r 期待cpu工夫片和运行的过程数,数量越大,零碎越忙碌,如果长期大于服务器cpu,则阐明cpu不够用了
- b 期待资源的过程数,如期待IO、内存等,数量越大,零碎越忙碌,如果该值长时间大于1,须要关注一下
memory 内存
- swpd 切换到替换分区的内存大小,单位kb,如果swpd的值不为0,或者比拟大,只有si和so的值长期为0就不必放心
- free 闲暇的内存容量,单位kb
- buff buffers cache的内存容量,行将写入磁盘的,单位kb,个别对块设施的读写才须要缓冲
- cache page cached的内存容量,从磁盘中读取的,单位kb,个别作为文件系统进行缓存,频繁拜访的文件都会被缓存。如果cache值比拟大,阐明缓存的文件数较多,如果此时io中的bi比拟小,阐明文件系统效率比拟好
swap 替换分区,这两个数越大,阐明内存不够用了,内存中的数据频繁替换到替换分区中,对系统性能影响极大
- si 每秒从内存进入替换区的数据的容量
- so 每秒从替换区进入内存的数量
io 磁盘IO,这两个数越大,代表磁盘IO越忙碌。如果bi+bo超过1000,而且wa值较大,示意零碎磁盘IO有问题
- bi 从块设施读取数据的总量,读磁盘 kb/s
- bo 从块设施写入数据的总量,写磁盘 kb/s
system 零碎信息,显示采集距离内产生的中断次数,这两个数越大,示意零碎与接口设施的通信越忙碌,由内核耗费的CPU工夫越多
- in 某一时间距离内观测到的每秒被中断的过程次数
- cs 每秒进行事件切换次数(上下文切换的次数)
cpu CPU信息,如果us+sy大于80%,阐明可能存在cpu资源有余
- us 用户过程耗费CPU运算工夫的百分比,如果长期大于50%,须要思考优化程序
- sy 内核过程耗费CPU运算工夫的百分比
- id 闲暇CPU的工夫百分比
- wa 期待IO所耗费的CPU工夫百分比。wa值越高,阐明IO期待越重大。如果wa超过20%,阐明IO期待重大,引起IO期待的起因可能是磁盘大量随机读写造成的,也可能是磁盘或磁盘控制器的带宽瓶颈造成的
- st 被虚拟机所盗用的CPU占比
iostat命令
显示均匀磁盘流动和处理器负载状况
#iostat [刷新延时 刷新次数]# 应用iostat检测,每1秒刷新一次,一共刷新3次iostat 1 3选项-d 查看磁盘应用状况-k 以KB为单位显示-c 显示CPU应用状况-t 打印出统计信息开始执行是啊金-x device 指定要统计的磁盘设施名称
%user 在用户级别执行
%nice 以nice优先形式在用户级别执行
%system 在零碎级别执行(内核过程)
%iowait 期待IO
%steal 期待虚构过程
%idle 闲暇工夫
tps 每秒解决的IO申请数,kB_read/s每秒从设施读取的数据量, kB_wrtn/s每秒向设施写入的数据量, kB_read读取的数据总量, kB_wrtn写入的数据总量
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选项-m 示意以MB为单位显示-s 每隔几秒更新一次显示
应用 free -h 能够展现为应用K或M或G为单位
第一行是内存信息:total示意总内存数,used示意曾经应用的,free示意闲暇的,shared示意多个过程共享的,buffers示意缓冲内存数,cached示意缓存内存数
第二行是缓冲缓存信息:-/buffers/cache(正在应用的) 相当于 used-buffers-cached,+/buffers/cache(可用的内存) 相当于 free+buffers+cached
如何回收buff/cache
echo 1 > /proc/sys/vm/drop_caches # 仅革除页面缓存
echo 2 > /proc/sys/vm/drop_caches # 革除目录项和inode
echo 3 > /proc/sys/vm/drop_caches # 革除页面缓存、目录项以及inode
第三行是分区信息:total是swap的总数,used是曾经应用的,free是闲暇的,当下面提到的+buffers/cache示意的可用内存都已应用完,新的读写申请过去后,会把内存中的局部数据写入磁盘,从而把磁盘的局部空间当做虚拟内存来应用
如果swap内存应用过多,则阐明物理内存曾经不够用了,操作系统将本应该物理内存存储的一部分内存页调度到磁盘上,以腾出足够的空间给以后的过程应用。当其余过程须要运行时,在从磁盘将内存的页调度到物理内存中,以复原过程的运行。这个调度的过程,则会产生swap IO,如果swap IO较为频繁,会影响零碎的性能,能够应用vmstat来查看swap IO的状况
能够配合vmstat来察看swap的IO状况
查看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命令
显示系统活动报告,能够全面获取零碎的CPU、运行队列、磁盘IO、分页、内存、CPU中断、网络等性能数据
查看网络运行状态
# sar [options] [-o filename] [interval] [count]# -n示意汇报网络情况# DEV示意查看各个网卡的网络流量# 第一个1示意每一秒抽样一次,第二个1示意总共抽取1次sar -n DEV 1 1Linux 3.10.0-1160.59.1.el7.x86_64 10/28/2022 _x86_64_ (2 CPU)11:51:57 AM IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/s11:51:58 AM eth0 41.00 43.00 6.95 7.87 0.00 0.00 0.0011:51:58 AM lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00Average: IFACE rxpck/s txpck/s rxkB/s txkB/s rxcmp/s txcmp/s rxmcst/sAverage: eth0 41.00 43.00 6.95 7.87 0.00 0.00 0.00Average: lo 0.00 0.00 0.00 0.00 0.00 0.00 0.00# lo示意本地回环网络,eth0示意网卡 rxpck/s示意每秒接管数据包数量 txpck/s示意每秒收回数据包数量 rxkB/s示意每秒接管的字节数 txkB/s示意每秒收回的字节数 rxcmp/s示意每秒收到的压缩包数量 txcmp/s示意每秒收回的压缩包数量 rxmcst/s示意每秒收到的播送包数量
这里要留神一下,如果rxpck/s数值大于4000,或者rxkB/s大于5000的时候,须要察看一下是否有异样,流量有些高
也能够查看某一天的网卡流量
# sa21是文件名sar -n DEV -f /var/log/sa/sa21
查看均匀负载
sar -q 10 303:57:28 PM runq-sz plist-sz ldavg-1 ldavg-5 ldavg-15 blocked03:57:38 PM 0 1082 0.06 0.13 0.27 003:57:48 PM 1 1082 0.05 0.12 0.27 003:57:58 PM 0 1082 0.04 0.12 0.26 0Average: 0 1082 0.05 0.12 0.27 0runq-sz:运行队列的长度plist-sz:过程列表中的过程和线程数ldavg-1:最近1分钟的CPU均匀负载ldavg-5:最近5分钟的CPU均匀负载ldavg-15:最近15分钟的CPU均匀负载
查看CPU使用率
sar -u 10 303:56:33 PM CPU %user %nice %system %iowait %steal %idle03:56:43 PM all 0.63 0.00 0.23 0.00 0.00 99.1503:56:53 PM all 0.91 0.00 0.35 0.00 0.00 98.7403:57:03 PM all 2.03 0.00 0.45 0.03 0.00 97.49Average: all 1.19 0.00 0.34 0.01 0.00 98.46
查看某个CPU运行负载,程序应用了单线程,可能会有整体CPU使用率不高,然而某个CPU飚满的状况
# CPU是从0开始计数的,1示意的是第二个CPUsar -P 1 3 5
查看零碎磁盘状况
sar -d 3 5
查看内存应用状况
sar -r 3 5
选项
- -A 显示零碎所有资源设施(CPU、内存、磁盘)的运行状况
- -u 显示零碎所有CPU在采样工夫内的负载状态
- -P 显示以后零碎中指定CPU的应用状况
- -d 显示零碎所有硬盘设施在采样工夫内的应用状况
- -r 显示零碎内存在采样工夫内的应用应用状况
- -b 显示缓冲区在采样工夫内的应用状况
- -v 显示过程、文件、节点和锁表状态
- -n 显示网络运行状态。参数后边可跟DEV、EDEV、SOCK、FULL。DEV显示网络接口信息;EDEV显示网络谬误的统计信息;SOCK显示套接字信息;FULL显示前三个参数的所有信息
- -q 显示运行队列的大小,与零碎过后的均匀负载雷同
- -R 显示过程在采样工夫内的流动状况
- -y 显示终端设施在采样工夫内的流动状况
- -w 显示零碎替换流动在采样工夫内的状态
- -o filename 示意将命令后果以二进制格局寄存在文件中
- interval 采样工夫距离
- count 采样次数
lsmod命令
查看已载入零碎的模块,是list modules的缩写,其查看的是/prco/modules中的内容
lsmod# 展现的内容,第一列为模块的名称;第二列为模块的大小;第三列为依赖模块的个数,第四列为依赖模块的内容drm 303102 3 ttm,drm_kms_helper,cirrus
https://zhhll.icu/2021/linux/日常治理/系统资源命令/
本文由mdnice多平台公布