购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

2.1 Linux服务器的性能监控与分析

2.1.1 通过vmstat深挖服务器的性能问题

vmstat差不多是性能测试时在Linux服务器上执行得最多的命令,使用该命令能辅助我们定位很多的性能问题。

我们先来看一下执行vmstat命令后,获取到的服务器资源使用的监控数据有哪些,如图2-1-1所示。

图2-1-1

在图2-1-1中,在执行vmstat的时候,后面加了两个参数,其中参数1代表每隔1秒获取一次服务器的资源使用数据,参数10代表总共获取10次。vmstat命令的监控数据项如表2-1所示。

表2-1 vmstat命令的监控数据项及其含义

(续表)

vmstat还可以支持其他参数,我们可以通过执行vmstat --help命令查看到它支持的其他参数,如图2-1-2所示。

图2-1-2

· -a, --active:显示活跃和非活跃的内存。

· -f, --forks:显示操作系统从启动至今的fork数量。fork一般指的就是启动过的进程数量,Linux操作系统用fork()函数来创建进程。

· -m, --slabs:显示slab的相关信息。slab是Linux内核中按照对象大小进行分配的内存分配器,通过slab的信息可以查看各个内核模块占用的内存空间,可以通过cat/proc/meminfo |grep Slab命令来查看slab占用的总内存大小,如果占用的内存过大,那么可能是内核模块出现了内存泄漏。

· -n, --one-header:这个参数表示只显示头部第一行的信息。

· -s, --stats event counter statistics:显示内存相关的统计信息及多种系统操作活动(或事件)发生次数的统计,比如CPU时钟中断的次数、CPU上下文切换的次数等。

· -d, --disk statistics:显示每一块磁盘I/O相关的明细信息。

· -D, --disk-sum:显示磁盘I/O相关的汇总信息,-D显示的信息是对-d参数显示的每个磁盘块信息的汇总。

· -p, --partition <dev> partition specific statistics :显示磁盘中某个分区的I/O读写信息。例如执行vmstat -p /dev/sda1可以显示/dev/sda1这个分区的I/O读写的相关的信息。

· -S, --unit<char>define display unit:使用指定单位显示。参数有k、K、m、M,分别代表1000字节、1024字节、1000000字节、1048576字节。默认单位为K(1024字节)。

· -w, --wide output:这个参数用于调整命令输出结果的显示方式。输出的结果和单独执行vmstat命令得到的结果完全一样,只是在输出时,会以更宽的宽度来展示数据。

· -t, --timestamp show timestamp:在vmstat命令输出数据的基础上,增加每次获取数据时当前时间戳的输出显示。

· -V, --version output version information and exit:输出vmstat命令的版本信息。 6BbOBCDOSiG0mkvEKH7FYUb47e/ean60ufB2vM59BmKW/kWc8J09D4hnATGx4Rpu

点击中间区域
呼出菜单
上一章
目录
下一章
×