1.Vmstat 2.Top 3.Free 4.Uptime 5.sysstat 工具包 6.Iozone 7.Strace 工具介绍-Vmstat Vmstat 是一个很全面的性能分析工具,可以观察到系统的进程状态、内存使用、虚拟内存使用、磁盘的IO、中断、上下文切换、CPU 使用等。系统性能分析工具中,使用最多的是这个,除了sysstat 工具包外,这个工具能查看的系统资源最多。 主要说明这个命令显示出的部分数据代表的含义,和它反映出系统相关资源的状况。输出内容共有6 类,分别说明如下。 b.Procs – r: 运行的和等待(CPU 时间片)运行的进程数,这个值也可以判断是否需要增加 CPU(长期大于 1) – b: 处于不可中断状态的进程数,常见的情况是由 IO 引起的 c.Memory – swpd: 切换到交换内存上的内存(默认以KB 为单位) ? 如果 swpd 的值不为0,或者还比较大,比如超过100M了,但是 si, so 的值长期为 0,这种情况我们可以不用担心,不会影响系统性能。 – free: 空闲的物理内存 – buff: 作为 buffer cache 的内存,对块设备的读写进行缓冲 – cache: 作为 page cache 的内存, 文件系统的cache ? 如果 cache 的值大的时候,说明cache 住的文件数多,如果频繁访问到的文件都能被cache 住,那么磁盘的读 IO bi 会非常 d.Swap – si: 交换内存使用,由磁盘调入内存 – so: 交换内存使用,由内存调入磁盘 内存够用的时候,这 2 个值都是 0,如果这 2 个值长期大于 0 时,系统性能会受到影响。磁盘 IO 和 CPU 资源都会被消耗。 有些人看到空闲内存(free)很少或接近于 0 时,就认为内存不够用了,实际上不能光看这一点的,还要结合 si,so,如果 free 很少,但是 si,so 也很少(大多时候是 0),那么不用担心,系统性能这时不会受到影响的。 e. Io ? bi: 从块设备读入的数据总量(读磁盘) (KB/s), ? bo: 写入到块设备的数据总理(写磁盘) (KB/s) 随机磁盘读写的时候,这 2 个值越大(如超出 1M),能看到 CPU 在 IO 等待的值也会越大 f.System – in: 每秒产生的中断次数 – cs: 每秒产生的上下文切换次数 上面这 2 个值越大,会看到由内核消耗的 CPU 时间会越多 g.Cpu – us: 用户进程消耗的 CPU 时间百分比 ? us 的值比较高时,说明用户进程消耗的 CPU 时间多,但是如果长期超过 50% 的使用,那么我们就该考虑优化程序算法或者进行加速了(比如 PHP/Perl) – sy: ...