伤城文章网 > IT/计算机 > Unix系统性能监控命令

Unix系统性能监控命令


Unix 系统性能监控命令
1、 sar 命令 、 1.1Sar 命令介绍: Sar [options] [-A] [-o file] t [n] 在命令行中,n 和 t 两个参数组合起来定义采集间隔和次数,t 为采样间隔,是必须有的 参数,你为采样次数,是可选的,默认值是 1,-0 file 表示将命令结果以二进制格式存 放在文件中,file 在此处不是关键字,是文件名。Options 为命令行选项,sar 命令选项 很多,下面只列出常用选项: -A:所有报告的总和 -u:cup 利用率 -d:硬盘使用报告 -r:没有使用的内存页面和硬盘块 -g:串口 i/o 的情况 -b:缓冲区使用情况 -a:文件读写情况 -c:系统调用情况 -R:进程的活动情况 -y:终端设备活动情况 -w:系统交换活动 1.2 举例: 1.2.1 使用 sar –u 命令监控 cpu 使用 $sar –u 5 5 12:21:15 %usr %sys %wlo %idle %usr –运行在用户模式下 cup 的使用百分比 %sys –运行在系统模式下 cup 的使用百分比 %wio—进程在等待块 i/o 时闲置状态下 cup 的使用百分比 %idle—闲置状态时 cup 的使用百分比 显示说明: 示说明: 在所有的显示中,我们应主要注意%wio 和%idle,%wio 的值过高,表示硬盘存在 i/o 瓶颈,%idle 值高,表示 cup 较空闲,如果%idle 值高但系统响应时间慢时,就肯能 是 cup 等待分配内存,此时应加大内存容量。%idle 值如果持续低于 10,那么系统的 cpu 处理能力相当较低,表示系统中最需要解决的资源是 cpu。 1.2.2 使用命行 sar -v t n 例如,每 30 秒采样一次,连续采样 5 次,观察核心表的状态,需键入如下命 令:# sar -v 30 5

屏幕显示: SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 10:33:23 proc-sz ov inod-sz ov file-sz ov lock-sz (-v) 10:33:53 305/ 321 0 1337/2764 0 1561/1706 10:34:23 308/ 321 0 1340/2764 0 1587/1706 10:34:53 305/ 321 0 1332/2764 0 1565/1706 10:35:23 308/ 321 0 1338/2764 0 1592/1706 10:35:53 308/ 321 0 1335/2764 0 1591/1706

0 0 0 0

40/ 37/ 36/ 37/ 0 37/

128 128 128 128 128

显示内容包括: 显示内容包括 proc-sz : 目 前 核 心 中 正 在 使 用 或 分 配 的 进 程 表 的 表 项 数 , 由 核 心 参 数 MAX-PROC 控制 inod-sz : 目 前 核 心 中 正 在 使 用 或 分 配 的 i 节 点 表 的 表 项 数 , 由 核 心 参 数 MAX-INODE 控制 file-sz: 目前核心中正在使用或分配的文件表的表项数, 由核心参数 MAX-FILE 控制。 ov:溢出出现的次数。 Lock-sz : 目 前 核 心 中 正 在 使 用 或 分 配 的 记 录 加 锁 的 表 项 数 , 由 核 心 参 数 MAX-FLCKRE 控制 显示格式为:实际使用表项/可以使用的表项数 显示格式为 显示内容表示,核心使用完全正常,三个表没有出现溢出现象,核心参数不需 调整,如果出现溢出时,要调整相应的核心参数,将对应的表项数加大。 1.2.3 使用命行 sar -d t n 例如,每 30 秒采样一次,连续采样 5 次,报告设备使用情况,需键入如下命令: # sar -d 30 5 屏幕显示: 屏幕显示 : SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 11:06:43 device %busy avque r+w/s blks/s avwait avserv (-d) 11:07:13 wd-0 1.47 2.75 4.67 14.73 5.50 3.14 11:07:43 wd-0 0.43 18.77 3.07 8.66 25.11 1.41 11:08:13 wd-0 0.77 2.78 2.77 7.26 4.94 2.77 11:08:43 wd-0 1.10 11.18 4.10 11.26 27.32 2.68 11:09:13 wd-0 1.97 21.78 5.86 34.06 69.66 3.35 Average wd-0 1.15 12.11 4.09 15.19 31.12 2.80 显示内容包括: 显示内容包括 : device: sar 命令正在监视的块设备的名字。 %busy: 设备忙时,传送请求所占时间的百分比。 avque: 队列站满时,未完成请求数量的平均值。 r+w/s: 每秒传送到设备或从设备传出的数据量。 blks/s: 每秒传送的块数,每块 512 字节 avwait: 队列占满时传送请求等待队列空闲的平均时间。

avserv: 完成传送请求所需平均时间(毫秒) 。 显示说明 : 在显示的内容中,wd-0 是硬盘的名字,%busy 的值比较小,说明用于处理传送 请求的有效时间太少,文件系统效率不高,一般来讲,%busy 值高些,avque 值 低些,文件系统的效率比较高,如果%busy 和 avque 值相对比较高,说明硬盘传 输速度太慢,需调整。 1.2.4 命令 sar -b t n 例如,每 30 秒采样一次,连续采样 5 次,报告缓冲区的使用情况,需键入如 下命令:# sar -b 30 5 屏幕显示: 屏幕显示 : SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 14:54:59 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b) 14:55:29 0 147 100 5 21 78 0 0 14:55:59 0 186 100 5 25 79 0 0 14:56:29 4 232 98 8 58 86 0 0 14:56:59 0 125 100 5 23 76 0 0 14:57:29 0 89 100 4 12 66 0 0 Average 1 156 99 5 28 80 0 0 显示内容包括: 显示内容包括 : bread/s: 每秒从硬盘读入系统缓冲区 buffer 的物理块数。 lread/s: 平均每秒从系统 buffer 读出的逻辑块数。 %rcache: 在 buffer cache 中进行逻辑读的百分比。 bwrit/s: 平均每秒从系统 buffer 向磁盘所写的物理块数。 lwrit/s: 平均每秒写到系统 buffer 逻辑块数。 %wcache: 在 buffer cache 中进行逻辑读的百分比。 pread/s: 平均每秒请求物理读的次数。 pwrit/s: 平均每秒请求物理写的次数。 显示说明: 显示说明 : 在显示的内容中,最重要的是%cache 和%wcache 两列,它们的值体现着 buffer 的使用效率,%rcache 的值小于 90 或者%wcache 的值低于 65,应适当增加系统 buffer 的数 量, buffer 数 量由 核心参数 NBUF 控 制, 使%rcache 达到 90 左 右,%wcache 达到 80 左右。但 buffer 参数值的多少影响 I/O 效率,增加 buffer, 应在较大内存的情况下,否则系统效率反而得不到提高。 1.2.5 命令 sar -g t n 例如,每 30 秒采样一次,连续采样 5 次,报告串口 I/O 的操作情况,需键入如下 命令:# sar -g 30 5 屏幕显示: 屏幕显示 : SCO_SV scosysv 3.2v5.0.5 i80386 11/22/2001 17:07:03 ovsiohw/s ovsiodma/s ovclist/s (-g) 17:07:33 0.00 0.00 0.00 17:08:03 0.00 0.00 0.00 17:08:33 0.00 0.00 0.00 17:09:03 0.00 0.00 0.00

17:09:33 0.00 0.00 0.00 Average 0.00 0.00 0.00 显示内容包括: 显示内容包括 : ovsiohw/s:每秒在串口 I/O 硬件出现的溢出。 ovsiodma/s:每秒在串口 I/O 的直接输入输出通道高速缓存出现的溢出。 ovclist/s :每秒字符队列出现的溢出。 显示说明: 显示说明 : 在显示的内容中,每一列的值都是零,表明在采样时间内,系统中没有发生串 口 I/O 溢出现象。 2. 使用 top 命令发现系统中最影响性能的用户 2.1 top 命令介绍
top [-] [d] [p] [q] [c] [C] [S] [s] [n]

d 指定每两次屏幕信息刷新之间的时间间隔。当然用户可以使用 s 交互命令来改变之。 p 通过指定监控进程 ID 来仅仅监控某个进程的状态。 q 该选项将使 top 没有任何延迟的进行刷新。如果调用程序有超级用户权限,那么 top 将以尽可能高的优先级运行。 S 指定累计模式 s 使 top 命令在安全模式中运行。这将去除交互命令所带来的潜在危险。 i 使 top 不显示任何闲置或者僵死进程。 c 显示整个命令行而不只是显示命令名
top 命令是 unix 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器 2.2 top 命令显示

Load averages:2.83,3.30,3.67 143 processes 124 sleeping, 15 running , 4 on cup Cup states :45.9% idle, 24.8% user ,7.3% kernel, 22.0% iowait ,0.0% swap Memory:2048M real ,36M free, 2920M swap in use ,982M swap free Pid username lwp pri nice size res state time cpu command 23696 oracle 11 52 0 586M 536M run 279:55 7.57% oracle …… 3. 使用 mpstat 命令确定 cup 瓶颈 3.1 Mpstat 命令介绍 mpstat [-P {|ALL}] [internal [count]] 参数的含义如下: 参数 解释 -P {|ALL} 表示监控哪个 CPU, cpu 在[0,cpu 个数-1]中取值 internal 相邻的两次采样的间隔时间 count 采样的次数,count 只能和 delay 一起使用 当没有参数时,mpstat 则显示系统启动以后所有信息的平均值。有 interval 时,第一 行的信息自系统启动以来的平均信息

3.2 屏幕显示 $ uptime 12:45pm up 119 day(s),19:01, 1 user ,load average: 2.96, 2.98 ,3.30 。。。。。 。。。。 3.3 显示说明
uptime 命令可以显示系统已经运行了多长时间,信息显示依次为:现在时间、系统已经运行 了多长时间、目前有多少登陆用户、系统在过去的 1 分钟、5 分钟和 15 分钟内的平均负载,

提供快速查看 cpu 中所有任务(包括正在运行的任务)在 1 分钟,5 分钟,15 分钟内 的负载。在 sun 下是 1,5,15 分钟,在 digtal unix 下是 5,30,60 注释: 那么什么是系统平均负载呢? 系统平均负载是指在特定时间间隔内运行队列中 的平均进程数。如果每个 CPU 内核的当前活动进程数不大于 3 的话,那么系统 的性能是良好的。如果每个 CPU 内核的任务数大于 5,那么这台机器的性能有 严重问题。 4. 使用 sar 命令监控磁盘 i/0 问题 4.1 命令 $ sar –d 5 2 4.2 屏幕显示 12:59:00 device %busy avque r+w/s blks/s avwait avserv 12:59:05 md30 71 0.8 103 1738 0.0 7.5 Md31 34 0.4 52 934 0.0 7.1 ….. 4.3 显示内容 显示内容 -d 选项监控磁盘 i/o %busy Avque--平均队列长度 R+w/s--读和写的活动 blks/s—传送的数据块的数量 avwait –平均等待时间 avserv -- 平均服务时间 4.4 较高的%busy 和 Avque 意味着出现了磁盘 i/0 瓶颈 4.4 命令 $ sar –b 2 5 4.5 屏幕显示 17:08:24 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 17:08:26 0 530 100 2 2 0 0 0 …… 4.6 显示内容 显示内容 -b—选项报告缓冲区活动,它等同于磁盘 i/o 活动,如果怀疑数据库 i/o 有问题这个命令

很有用 bread/s –每秒钟从磁盘进行物理读入的数量 lread/s –每秒钟从缓冲区读入的数量 %rcache –读入请求的缓冲区命中率 bwrit/s –每秒钟向磁盘物理写入的数量,它给 dba 提供了服务器上整体希尔活动指标 lwrit/s –每秒钟向缓冲区写入的数量 %wcache –写入请求的缓冲区命中率 pread/s –每秒钟从磁盘读入的数量,这个是 i/0 子系统上负载的极好度量 pwrit/s—每秒钟写入磁盘的数量 4.7 显示说明 所显示的内容反映了目前与系统 buffer 有关的读,写活。在所报告的数字中,最重 要的是%rcache 和%wcache 统称为 cache 命中率) ( 两列, 它们具体体现着系统 buffer 的效率。衡量 cache 效率的标准是它的命中率值的大小 5.使用 iostat 确定磁盘 i/o 瓶颈 5.1 命令介绍
iostat [ -t ] [ interval [ count ] ] interval 指每次统计间隔的时间; count 指按照这个时间间隔统计的次数。

Iostat 可以用于报告终端和磁盘 i/0 活动情况,确定磁盘瓶颈。输出结果的第一行显 示了自数据库启动以来各个 i/o 的统计数据,最常用的选项有-d,-x,-D,-c(cpu 负载)
iostat 是 I/O statistics (输入/输出统计) 的缩写, iostat 工具将对系统的磁盘操作活动进行监视。 它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU 使用情况。它不能对某个进程进行 深入分析,仅对系统的整体情况进行分析。 5.2 命令$ iostat –d

md30 md31 md32 sd10 5 5

5.3 屏幕显示 Md30 md31 md 32 sd10 Kps tps serv kps tps serv kps tps serv kps tps serv 9 1 13 7 0 14 46 6 14 ….. -d 选项可以列出每秒传送的字节数,每秒的传输次数以及平均服务时间(以豪秒计) 。-d 仅仅显示 i/o,不区分读操作和写操作。 5.4 命令 iostat –d md30 md31 md32 sd10 5 5 命令$ 5.5.屏幕显示 屏幕显示 Md30 md31 md 32 sd10 Rps wps util rps wps util rps wps util rps wps util 1 0 0.5 0 0 0.3 0 0 0.3 4 3 4.3 ….. -D 选项报告每秒的读操作数量,写操作数量以及磁盘使用率

5.6 命令 iostat –x 5 3 命令$ 5.7 屏幕显示 Extended device statistics Device r/s w/s kr/s kw/s wait actv svc_t Md30 0.5 0.1 4.0 4.5 0.0 0.0 12.8 0 0 ….. -x 选项报告所有磁盘的扩展磁盘统计数据
对结果的分析:

%w %b

通过查看 bps 列和 sps 列的值我们可以知道哪些磁盘比较忙,哪些磁盘比较闲

6.使用 sar 命令和 vmstat 命令监控分页/交换 一种可以快速判定自系统启动可以来是否存在任何交换活动的方法就是运行 vmstat –s 命令,如果 swp/in 和 swp/out 列出现非零值,就说明很可能出现了问题。另外可以使 用 sar 命令挖掘更多的信息。
vmstat 可以用来确定一个系统的工作是受限于 CPU 还是受限于内存:如果 CPU 的 sy 和 us 值相 加的百分比接近 100%,或者运行队列(r) 中等待的进程数总是不等于 0,则该系统受限于 CPU; 如果 pi、po 的值总是不等于 0,则该系统受限于内存。

可以使用 sar 命令检查系统的分页/交换活动, 任何分页和交换现象都预示着将出现问题。 在虚拟内存系统中,如果当前非活动用户(的进程)从内存移到磁盘上时,就会出现分 页现象(一个小问题) 。而如果由于内存的不足造成当前活动用户(的进程)被移到了磁 盘上, 就会出现交换现象 (问题很严重) 分页不像交换那么糟糕, 。 但是随着分页的增加, 很快就会出现交换。 6.1 命令 sar –p 5 5 命令$ 6.2 屏幕显示 15:15:44 atch/s pgin/s ppgin/s pflt/s vflt/s slock/s 15:15:49 109.15 302.58 351.29 154.67 680.91 c0.40 ….. 6.3 显示内容 -p—选项报告分页活动 atch/s—每秒的分页故障数据,可通过在内存中重新声明一个页来解决故障(每秒附件) pgin/s-- 每秒换进 pagein 请求数 ppgin/s—每秒换进的页数 pflt/s-- 每秒保护错误中的分页错误数(非法访问页)或者 copy-on-write(写入时拷贝) 数 vflt/s-- 每秒翻译页错误数(不再内存中的有效页) slock/s—每秒因软件锁请求物理 i/o 引起的错误数

6.4 命令 sar –w 5 5 命令$ 6.5 屏幕显示 15:25:00 swpin/s bswin/s swpot/s bswot/s pswch/s 15:25:05 0.00 0.0 0.00 0.0 6520 …. 6.6 显示内容 -w 选项报告交换和内存切换活动 swpin/s-- 每秒进程换人的数量 bswin/s-- 每秒 512 个字节的换人数量 swpot/s-- 每秒进程换出的数量 bswot/s-- 每秒 512 个字节的换出数量 pswch/s-- 每秒进程上下文切换的数量 6.7 命令 sar –r 5 5 命令$ 6.8 屏幕显示 15:26:50 freemen freeswap 15:26:55 4544 1998060 …… 6.9 显示说明 -r 选项报告空闲内存和空闲交换 当 freemen(空闲内存—以 512 字节为单位列出)低于一个特定的水平时,系统就开始分 页。如果它继续下降,系统就开始将一些进程交换出去。这个一个系统性能快速恶化的 信号,可以查找占用过多内存的进程,或者是否存在过多的进程。 6.10 命令 sar –g 5 5 命令$ 6.11 屏幕显示 15:35:46 pgout/s ppgout/s pgfree/s pgscan/s %ufs_ipf 15:35:51 43.54 58.45 57.06 0.00 0.00 ….. 6.12 显示内容 –g 选项报告分页活动 pgout/s—每秒换出(pageout)请求数 ppgout/s – 每秒换出(pageout)的页数 pgfree/s – 由分页控制程序每秒放入空闲列表的页数 pgscan/s --由分页控制程序每秒扫描的分页数 %ufs_ipf—UFS incode 与由 iget 获取的有重用页的空闲列表的比例。这些页已被填充, 无法被进程重新声明使用,这样,它就是 iget 造成的页面填充比例。 很高的 ppgout(从内存中移出的页面数)也说明内存不足的问题。

每 2 秒采样一次,连续采样 5 次,报告缓冲区的使用情况 6.13 命令 sar -b 2 5 命令# 6.14 屏幕显示

HP-UX chnytp01 B.11.11 U 9000/800

08/16/08

10:41:20 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s 10:41:22 10:41:24 10:41:26 10:41:28 10:41:30 Average 360 840 1004 461 253 584 4936 3909 2746 1405 1161 2833 93 79 63 67 78 79 74 40 270 123 207 143 288 78 206 190 245 201 35 15 29 74 48 0 0 0 0 0 0 0 0 0 0 0 0 0

6.15 显示内容 bread/s: 每秒从硬盘读入系统缓冲区 buffer 的物理块数。 lread/s: 平均每秒从系统 buffer 读出的逻辑块数。 %rcache: 在 buffer cache 中进行逻辑读的百分比。 bwrit/s: 平均每秒从系统 buffer 向磁盘所写的物理块数。 lwrit/s: 平均每秒写到系统 buffer 逻辑块数。 %wcache: 在 buffer cache 中进行逻辑读的百分比。 pread/s: 平均每秒请求物理读的次数。 pwrit/s: 平均每秒请求物理写的次数。 6.16 显示说明 在显示的内容中, 最重要的是%cache 和%wcache 两列, 它们的值体现着 buffer 的使用效率, %rcache 的值小于 90 或者%wcache 的值低于 65,应适当增加系统 buffer 的数量,buffer 数量由核心参数 NBUF 控制,使%rcache 达到 90 左右,%wcache 达到 80 左右。但 buffer 参数值的多少影响 I/O 效 率,增加 buffer,应在较大内存的情况下,否则系统效率反而得不到提高。 如果%rcache 列的值小于 90%,并且%wcache 列的值不在 70-80%之间,我们必须观察系统中什么 应用在做什么样的读/写操作,我们是否需要增加缓冲区的大小 注意:怀疑 CPU 存在瓶颈,可用 sar -u 和 sar -q 来看,怀疑 I/O 存在瓶颈,可用 sar -b、sar -u 和 sar-d 来看

7.使用 ipcs 命令确定共享内存的使用情况 Ipcs 命令可以用来监控 sga 的使用情况,它报告 sga 中每个共享内存段尺寸,如果在 整个 sga 中没有足够的内存来容纳一个连续的内存段,sga 就将建立非连续的内存段,在 实例崩溃的情况下, 可能就会出现内存无法释放的问题。 如果发生了这种情况, 注意 ipcrm 命令可以清除这些段(ipcrm –m 用于内存段, ipcrm -s 用于信号段) 7.1 命令格式
ipcs [-mqs] [-abcopt] [-C core] [-N namelist] ipcs –mob 可以看内存可用值 ipcs -ma 也可 7.2 命令: ipcrm -m 5 命令: 可以清除不用的内存,即在 ipcs -mob 中显示的 NATTCH 为 0 的值

7.3 命令 ipcs –b 命令$

7.4 屏幕显示 Ipc status from as of sat jan 7 16:04:05 cst 2006 T id key mode owner group qbytes Message queues: T id key mode owner group segsz Shared memory: M 4608 oxdf00bc84 –rw-r----- oracle dba 708837376 M4609 oxbd76b6f0 –rw-r------ oracle dba 541065216 T id key mode owner group nsems Semaphores: S 65536 0xae97 –ra-----root root 129 S 1 0x100ae97 –ra------root root 128 S 2 0x1 –ra-ra-ra root root 1 S 3 0x73657276 –ra-ra-ra- root root 3 S 1245188 0xd8647e24 –ra-r----- oracle dba 504 S 1245189 0xbcdcaaa8 –ra-r----- oracle dba 304

这里,sga 建立了 2 个非连续的段。通常最好是让整个 sga 处于一个单一的共享内存段, 英文跟踪一个以上的段以及在这些段之间来回切换都需要额外的开销。可以在/etc/system 文 件中增加参数 shmmax 的设置,以增加一个单一的共享内存段的最大尺寸。 8.swapinfo
8.1 语法: 语法: /usr/sbin/swapinfo [-mtadfnrMqw] 输出: Kb Kb Kb PCT START/ Kb TYPE AVAIL USED FREE USED LIMIT RESERVE PRI NAME dev 4194304 0 4194304 0% 0 - 1 /dev/vg00/lvol2 reserve - 213764 -213764 memory 1203632 17472 1186160 1% 8.2 说明: 说明: swapinfo 主要看 used 多少,而不在于总数大小,buffercache 中的值交换到 swap 中后是不会 被释放出来的,只有 user 的进程进入 swap 后才会释放,所以 swap 的值很高也没有关系

9.ifconfig:查看(或设置)网络设备信息
ifconfig -a:查看所有网络设置信息 10.last:显示登录到服务器的情况以及服务器重启情况 10. 11.df:显示硬盘空间及使用情况 11.

领导建议: 领导建议: 领导补充: 领导补充:


搜索更多“Unix系统性能监控命令”

网站地图

All rights reserved Powered by 伤城文章网 5xts.com

copyright ©right 2010-2021。
伤城文章网内容来自网络,如有侵犯请联系客服。zhit325@126.com