主机内存不足或CPU使用率过高
主机内存不足或CPU使用率过高会影响主机下发业务的能力,导致性能降低。
Windows主机
对Windows主机,可以通过Windows操作系统自带的性能监控器(Windows performance monitor)或Windows任务管理器查看主机内存和CPU的使用情况。此处以Windows任务管理器为例进行说明。
- 启动任务管理器。
- 打开“开始 > 运行”。
系统弹出“运行”窗口。
- 在“运行”窗口中输入taskmgr,单击“确定”。
系统弹出“任务管理器”窗口。
- 打开“开始 > 运行”。
- 在“任务管理器”窗口,选择“性能”页签。查看主机内存和CPU使用情况,如下图所示。
Linux主机
对于Linux主机,可以通过top命令进行查看。top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用情况。
- 使用root用户登录到Linux主机。
- 执行top命令,查看系统中各进程的资源占用情况。
其中“99.7%id”表示CPU0的空闲百分比,“100%–99.7%”表示CPU0的利用率。
AIX主机
- 查看内存使用情况
对于AIX主机,可以通过lsattr -El mem0命令查看内存使用情况。
通过vmstat命令查看虚拟内存和实际内存的使用率。
- “page”表示页面调入调出的数量。
- “pi”和“po”经常为非零值时,需要注意有可能内存不足。
- “wa”表示等待I/O的时间,正常情况下不会太高。
- “avm”表示活动的虚拟页面,在进程运行中分配到工作段的页面空间数,单位为4K,页面数越小越好,需要注意的是“avm”不包括文件系统缓存。
- “fre”表示空闲列表的数量。一般不少于120,当free少于120时,系统开始自动的关闭进程去释放空闲列表。
- 查看CPU
通过lsdev -Cc processor命令查看CPU核数。
通过sar parm1 parm2命令查看CPU占用率。其中parm1表示打印的频率,parm2表示打印的次数。
当“%usr”加上“%sys”大于80%时,CPU将是瓶颈。此时可以通过ps aux | head -4命令查看前三位占用CPU的进程。
“%CPU”表示进程使用CPU时间的百分比,“%MEM”表示进程使用实际内存的百分比。
VMware ESXi主机
VMware ESXi主机下查看主机内存和CPU使用率可以采用如下方法:
- 输入esxtop命令,再按回车键。此时查看的CPU性能统计数据。
- 输入M,切换为内存的性能统计。
- 输入F,进入如下所示界面,其中带星号表示已经监控的选项;输入选项前面对应的字母选择监控项,再次输入选项前面对应的字母,取消监控项;按回车键返回。
后续处理
在对性能要求很高的应用场景,当查询到主机侧CPU使用率过高、主机内存不足时,可以通过更换更高性能的主机或者增加并行测试的主机数量来解决。