启动服务器来摆脱僵尸进程.也分析应用为什么会导致僵死?
三、iostat iostat是sysstat包的一部分.Iostat显示自系统启动后的平均CPU时间(与uptime类似),它也可以显示磁盘子系统的使用情况,iostat可以用来监测CPU利用率和磁盘利用率.
CPU利用率分四个部分:
引用 %user:user level(应用)的CPU占用率情况 %nice:加入nice优先级的user level的CPU占用率情况 %sys:system level(内核)的CPU占用情况 %idle:空闲的CPU资源情况
磁盘占用率有下面几个部分:
引用 Device:块设备名 Tps:设备每秒进行传输的数量(每秒的I/O请求).多个单独的I/O请求可以被组成一个传输操作,一个传输操作可以是不同的容量. Blk_read/s, Blk_wrtn/s:该设备每秒读写的块的数量.块可能为不同的容量. Blk_read, Blk_wrtn:自系统启动以来读写的块设备的总量.
块的大小 块可能为不同的容量.块的大小一般为1024、2048、4048byte.可通过tune2fs或dumpe2fs获得:
引用 [root@rfgz ~]# tune2fs -l /dev/hda1|grep ''Block size'' Block size: 4096 [root@rfgz ~]# dumpe2fs -h /dev/hda1|grep ''Block size'' dumpe2fs 1.35 (28-Feb-2004) Block size: 4096
四、Vmstat Vmstat命令提供了对进程、内存、页面I/O块和CPU等信息的监控,vmstat可以显示检测结果的平均值或者取样值,取样模式可以提供一个取样时间段内不同频率的监测结果.
注:在取样模式中需要考虑在数据收集中可能出现的误差,将取样频率设为比较低的值可以尽可能的减小误差的影响. 下面介绍一下各列的含义
引用 ·process(procs) r:等待运行时间的进程数量 b:处在不可中断睡眠状态的进程 w:被交换出去但是仍然可以运行的进程,这个值是计算出来的 ·memoryswpd:虚拟内存的数量 free:空闲内存的数量 buff:用做缓冲区的内存数量 ·swap si:从硬盘交换来的数量 so:交换到硬盘去的数量 ·IO bi:向一个块设备输出的块数量 bo:从一个块设备接受的块数量 ·system in:每秒发生的中断数量, 包括时钟 cs:每秒发生的context switches的数量 ·cpu(整个cpu运行时间的百分比) us:非内核代码运行的时间(用户时间,包括nice时间) sy:内核代码运行的时间(系统时间) id:空闲时间,在Linux 2.5.41之前的内核版本中,这个值包括I/O等待时间; wa:等待I/O操作的时间,在Linux 2.5.41之前的内核版本中这个值为0
Vmstat命令提供了大量的附加参数,下面列举几个十分有用的参数:
引用 ·m:显示内核的内存利用率 ·a:显示内存页面信息,包括活跃和不活跃的内存页面 ·n:显示报头行,这个参数在使用取样模式并将命令结果输出到一个文件时非常有用.例如root#vmstat –n 2 10以2秒的频率显示10输出结果 ·当使用-p {分区}时,vmstat提供对I/O结果的统计
五、ps和pstree
ps和pstree命令是系统分析最常用的基本命令,ps命令提供了一个正在运行的进程的列表,列出进程的数量取决于命令所附加的参数.例如ps –A 命令列出所有进程和它们相应的进程ID(PID),进程的PID是使用其他一些工具之前所了解的,例如pmap或者renice.
在运行java应用的系统上,ps –A 命令的输出很容易就会超过屏幕的显示范围,这样就很难得到所有进程的完整信息.这时,使用pstree命令可以以树状结构来显示所有的进程信息并且可以整合子进程的信息.Pstree命令对分析进程的来源十分有用.
六、Numastat
随着NUMA架构的不断发展,例如eServer xSeries 445及其后续产品eServer xSeries 460,现 |