Linux性能监测工具
相关链接:Linux 如何查看 CPU 利用率?
1.top
top
命令会显示 Linux 的进程。它提供了一个运行中系统的实时动态视图,即实际的进程活动。默认情况下,它显示在服务器上运行的 CPU 占用率最高的任务,并且每五秒更新一次。
top 的常用快捷键
常用快捷键列表:
(2)htop - 交互式的进程查看器
htop
是一款免费并开源的基于 ncurses 的 Linux 进程查看器。它比 top
命令更简单易用。您无需使用 PID、无需离开 htop
界面,便可以杀掉进程或调整其调度优先级。
1 | $ htop |
输出示例:
htop输出到文件
先安装 aha
和 html2text
。
1 | echo q | htop -C | aha --line-fix | html2text -width 999 | grep -v "F1Help" | grep -v "xml version=" > file.txt |
2.mpstat - 监控多处理器的使用情况
mpstat
命令显示每个可用处理器的使用情况,编号从 0 开始。命令 mpstat -P ALL
显示了每个处理器的平均使用率:
1 | # mpstat -P ALL |
输出示例:
1 | Linux 2.6.18-128.1.14.el5 (www03.nixcraft.in) 06/26/2018 |
3. Sysstat Package
相关链接:利用Ksar分析系统瓶颈
sar
命令用用收集、报告、或者保存 UNIX / Linux 系统的活动信息:
- CPU 使用率
- 内存页面和使用率
- 网络 I/O 和传输统计
- 进程创建活动
- 所有的块设备活动
- 每秒中断数等等
sar
命令的输出能够用于识别服务器瓶颈。但是,分析 sar
命令提供的信息可能比较困难,所以要使用 kSar 工具。kSar 工具可以将 sar
命令的输出绘制成基于时间周期的、易于理解的图表。
sar
、sa1
、和 sa2
命令都是 sysstat 包的一部分。它是 Linux 包含的性能监视工具集合。
sar
:显示数据sa1
和sa2
:收集和保存数据用于以后分析。sa2
shell 脚本在/var/log/sa
目录中每日写入一个报告。sa1
shell 脚本将每日的系统活动信息以二进制数据的形式写入到文件中。sadc —— 系统活动数据收集器。可以通过修改
sa1
和sa2
脚本去配置各种选项。它们位于以下的目录:/usr/lib64/sa/sa1
(64 位)或者/usr/lib/sa/sa1
(32 位) —— 它调用sadc
去记录报告到/var/log/sa/sadX
格式。/usr/lib64/sa/sa2
(64 位)或者/usr/lib/sa/sa2
(32 位) —— 它调用sar
去记录报告到/var/log/sa/sarX
格式。
4.KDE 系统监控器 - 实时系统报告和图形化显示
KSysguard 是 KDE 桌面的网络化系统监控程序。这个工具可以通过 ssh 会话运行。它提供了许多功能,比如可以监控本地和远程主机的客户端-服务器模式。前端图形界面使用传感器来检索信息。传感器可以返回简单的值或更复杂的信息,如表格。每种类型的信息都有一个或多个显示界面,并被组织成工作表的形式,这些工作表可以分别保存和加载。所以,KSysguard 不仅是一个简单的任务管理器,还是一个控制大型服务器平台的强大工具。
5. Holy Lance
Holy Lance 是一个简单易用的 基于 PHP]的 Linux 图形化性能监视器。
基于PHP,单文件,易于部署。Web界面,动态更新,实时简便,即开即用。目前可以动态监控CPU占用率、内存、磁盘、网络、进程,还带有环境探针以及性能测试功能。
6. GPU监控
nvidia-smi
是Nvidia显卡命令行管理套件,基于NVML库,旨在管理和监控Nvidia GPU设备。
这是nvidia-smi命令的输出,其中最重要的两个指标:
- 显存占用
- GPU利用率
显存占用和GPU利用率是两个不一样的东西,显卡是由GPU计算单元和显存等组成的,显存和GPU的关系有点类似于内存和CPU的关系。
(1)编写脚本 monitor.sh
1 | watch -n2.0 nvidia-smi \ |
watch命令是为命令行输出设计的工具,其结果包含很多不可打印的字符,所以可以的解决方法有两个
把输出结果的语句写到command里面比如监控GPU的显存变化并写入日志
1
watch -n 3 'nvidia-smi -q -d MEMORY|tee -a gpu.log'
写脚本
1
2
3
4
5while <some condition>
do
<mycommand> 2>&1 | tee -a /path/to/logfile
sleep 60
done
(2)gpustat
pip install gpustat
即可安装,gpustat基于nvidia-smi
,可以提供更美观简洁的展示,结合watch命令,可以动态实时监控GPU的使用情况。
1 | watch --color -n1 gpustat -cpu |
(3)Glances
glances 工具可以在用户的终端上实时显示重要的系统信息,并动态地对其进行更新。这个高效的工具可以工作于任何终端屏幕。glances 工具还可以将相同的数据捕获到一个文件,便于以后对报告进行分析和绘制图形。
1 | glances --export csv --export-csv-file ./glances.csv |