在性能测试过程中,除了应用程序前端的性能指标以外,服务器硬件的资源使用情况也是需要监控的重点对象,服务器硬件资源包括CPU、内存、磁盘I/O等。服务器硬件资源信息通过操作系统自带的命令监控,也可以借助一些工具。下面就来据考看看如何监控服务器的内存信息。
内存不足的表现
1. Free memory急剧减少:回收buffer和cache也无济于事
2. 大量使用交换分区(swap):页面交换(swap)频繁
3. 读写磁盘数量(IO)增多
使用工具
· Xshell/finalshell
· Nmon(产生的.nmon文件可用来生成图表)
·
用xshell连接待测服务器,当应用有web服务器、app服务器、db服务器的时候,需要根据实际情况监控各个服务器
方法一(Linux 命令):
1. top命令,动态显示物理内存和swap内存的使用情况和各个程序使用内存的百分比
2. vmstat 命令添加时间参数,可以按自定义时间间隔和次数动态获取系统内存等信息,未加任何参数只获取一次数据信息。
swap:虚拟内存使用情况
free:空闲的内存
cache:文件缓存
si:内存与磁盘的交互
so:内存与磁盘的交互
bi:读磁盘
bo:写磁盘
si和so表示内存交换的频繁程度,如果数值长期很大,表示内存不够
如 vmstat 2 代表每隔一秒获取一次资源数据
方法二(工具监控nmon):
1. 用xshell或finalshell登录远程服务器
2. 在远程服务器的某一目录下新建nmon文件夹,上传与服务器操作系统对应的nmon文件,修改nmon文件的权限(chmod 777 nmon文件名)
3. 使用./nmon命令 启动nmon
(如我的虚拟机时centos7就使用其中的./nmon_x86_64_centos7 -c 10 -s 10 -f -m /root/ 命令,具体使用可参看nmon的使用)
4. 在nmon启动首页面,从键盘输入m,可以查看操作系统内存信息