测试时你必须知道的系统资源
系统资源的实时情况,在我们定位问题的时候,至关重要。下面👇从 CPU、网络情况、内存、磁盘I/O、显卡 等几个方面介绍基本命令。
CPU
CPU是操作系统稳定运行的根本,CPU的速度与性能很大一部分决定了系统整体的性能。
-
CPU数量、主频等基本信息:lscpu或cat /proc/cpuinfo
-
CPU使用率:top
CPU使用率反映的是当前CPU的繁忙程度,忽高忽低的原因在于占用CPU处理时间的进程可能处于IO等待状态但却还未释放进入wait
-
CPU平均负载:htop
CPU平均负载-load acerage,是指某段时间内占用CPU时间的进程和等待CPU时间的进程
快捷键:
- 搜索简称 F3
- 过滤器 F4
- 选择排序方式 F6
- 隐藏用户线程 H
- 隐藏内核线程 K
- 跟踪进程 F
-
CPU某一进程占用率:htop -p 进程pid
-
使用CPU的前10:ps aux | sort –k3nr | head –n 10
网络带宽
现在各种应用一般都是基于网络的,因此网络带宽是性能的一个重要指标。低速、不稳定的网络将导致网络应用程序的访问阻塞。
-
实时监控网卡的网络情况:nload (网卡名称)
nload默认分为上下两块:上半部分是:Incoming也就是进入网卡的流量;下半部分是:Outgoing也就是从这块网卡出去的流量。每部分都有当前流量(Curr)、平均流量(Avg)、最小流量(Min)、最大流量(Max)、总流量和(Ttl)这几部分。
-
iftop(与nload基本一致,这个命令会输出针对不同ip之间的网络流量流向信息)
-
按进程或程序实时统计网络带宽使用率:sudo nethogs -a
安装:sudo yum -y install nethogs;
快捷键:
- 按received流量排序 r
- 按发送流量排序 s
- 切换单位 -v(默认KB/s,1表示KB,2表示B,3表示MB)
- 检测次数 -c
- 检测所有设备 -a
- 延迟更新刷新速率 -d
- 要监视的设备名称 -device
磁盘I/O
如果在一个需要频繁读写的应用中,如果磁盘I/O性能不够,就会导致应用的停滞
-
查看线程对磁盘I/O的读写:sudo iotop -o
快捷键:
- 显示正在产生I/O的进程或线程 -o
- 指定进程的信息 -p
- 显示指定的用户的进程的信息 -u
- 只显示进程,不显示所有线程 P
- 累计I/O -a
- 显示使用KB单位 -k
-
查看每个磁盘的I/O读写速度:iostat
内存
内存的大小也是影响Linux性能的一个重要因素。内存太小,系统进程将被阻塞,应用也将变得缓慢;内存太大,会导致资源浪费。
-
查看系统中总的内存的一些使用情况:free
-
查看某一进程的内存占用率:htop -p 进程pid
-
查看使用内存的前10:ps aux | sort -k4nr | head -n 10
nvidia显卡信息查询