存储和网络 #
内存工具 #
vmstat
vmstat <interval> <count>
输出结果:
各列含义:
- r:在运行队列中等待执行的进程数;一般每颗CPU的运行队列应控制在3以内;
- b:在等待I/O的进程数;此时CPU处于空闲状态,所以应越小越好;
- free:空闲的物理内存(kb)
- si:从磁盘交换到内存的swap页数量(kb/sec);当内存满足时是不应该出现大量交换页的;
- so:从内存交换到磁盘的swap页数量(kb/sec)
- cs:每秒上下文切换次数
- us:用户进程的CPU时间占比
- sy:系统进程的CPU时间占比
- id:CPU空闲时间占比
- wa:等待I/O的CPU时间占比;过高证明瓶颈在I/O而不是CPU资源;
网络工具 #
- netstat
- tcpdump
上下文工具 #
- vnstat:需集成sysstat包,MAC平台不可用。
- pidstat:需集成sysstat包,MAC平台不可用。
- wireshark:事件记录。
磁盘工具 #
iostat
iostat <interval> <count>
添加 -tx
报告每秒向终端读取和写入的字符数和CPU的详细信息。
各列说明:
- %user:CPU处在用户模式下的时间百分比。
- %nice:CPU处在带NICE值的用户模式下的时间百分比。
- %system:CPU处在系统模式下的时间百分比。
- %iowait:CPU等待输入输出完成时间的百分比。过高表示I/O存在瓶颈;
- %steal:管理程序维护另一个虚拟处理器时,虚拟CPU的无意识等待时间百分比。
- %idle:CPU空闲时间百分比。如果%idle值高但系统响应慢时,有可能是CPU等待分配内存,此时应加大内存容量。如果持续低于10,那么系统的CPU处理能力相对较低,表明系统中最需要解决的资源是CPU。
- Device:磁盘名称
- tps:每秒I/O请求数
- kb_read/s:每秒读取的block数。
- kb_read:读取的block总数。