资源预览内容
第1页 / 共39页
第2页 / 共39页
第3页 / 共39页
第4页 / 共39页
第5页 / 共39页
第6页 / 共39页
第7页 / 共39页
第8页 / 共39页
第9页 / 共39页
第10页 / 共39页
亲,该文档总共39页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
Linux 中 CPU 与内存性能监测(出处:http:/blog.csdn.net/chenleixing/article/details/46678413)在系统维护的过程中,随时可能有需要查看 CPU 使用率内存使用情况的需要,尤其是涉及到 JVM,程序调优的情况,并根据相应信息分析系统状况的需要。top 命令命令top 命令是 Linux 下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于 Windows 的任务管理器。运行 top 命令后,CPU 使用状态会以全屏的方式显示,并且会处在对话的模式 - 用基于 top 的命令,可以控制显示方式等等。退出 top 的命令为 q (在 top 运行中敲 q 键一次)。可以直接使用 top 命令后,查看%MEM 的内容。可以选择按进程查看或者按用户查看,如想查看 Oracle 用户的进程内存使用情况的话可以使用 top -u oracle,以下为在 CentOS 中 top 命令的截图:内容解释:内容解释:第一行(第一行(top):):15:59:14 系统当前时刻167 days 系统启动后到现在的运作时间1 user 当前登录到系统的用户,更确切的说是登录到用户的终端数 - 同一个用户同一时间对系统多个终端的连接将被视为多个用户连接到系统,这里的用户数也将表现为终端的数目load average 当前系统负载的平均值,后面的三个值分别为 1 分钟前、5 分钟前、15 分钟前进程的平均数,一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的进程第二行(第二行(Tasks):):75 total 当前系统进程总数1 running 当前运行中的进程数74 sleeping 当前处于等待状态中的进程数0 stoped 被停止的系统进程数0 zombie 僵尸进程数第三行(第三行(Cpus):):0.0% us 用户空间占用 CPU 百分比0.3% sy 内核空间占用 CPU 百分比0.0% ni 用户进程空间内改变过优先级的进程占用 CPU 百分比99.7% id 空闲 CPU 百分比0.0% wa 等待输入输出的 CPU 时间百分比0.0% hi 0.0% si 0.0% st第四行(第四行(Mem):):1018600k total 物理内存总量798356k used 使用的物理内存总量220244k free 空闲内存总量180628k buffers 用作内核缓存的内存量Swap: 192772k total 交换区总量0k used 使用的交换区总量192772k free 空闲交换区总量123988k cached 缓冲的交换区总量第五行(第五行(Swap):):表示类别同第四行(Mem),但此处反映着交换分区(Swap)的使用情况。通常,交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的。0k total 交换区总量0k used 使用的交换区总量0k free 空闲交换区总量420732k cached 缓冲的交换区总量最下部分的进程列表栏:最下部分的进程列表栏:以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新。通过 top 内部命令可以控制此处的显示方式:PID:进程的 IDUSER:进程所有者PR:进程的优先级别,越小越优先被执行NInice:值VIRT:进程占用的虚拟内存RES:进程占用的物理内存SHR:进程使用的共享内存S:进程的状态。S 表示休眠,R 表示正在运行,Z 表示僵死状态,N表示该进程优先值为负数%CPU:进程占用 CPU 的使用率%MEM:进程使用的物理内存和总内存的百分比TIME+:该进程启动后占用的总的 CPU 时间,即占用 CPU 使用时间的累加值。COMMAND:进程启动命令名称top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:s- 改变画面更新频率l - 关闭或开启第一部分第一行 top 信息的表示t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示m - 关闭或开启第一部分第四行 Mem 和 第五行 Swap 信息的表示N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)h - 显示帮助n - 设置在进程列表所显示进程的数量q - 退出 tops -改变画面更新周期sar 命令命令sar 命令也是 Linux 系统中重要的性能监测工具之一,它可以周期性地对内存和 CPU 使用情况进行采样。基本语法如下:sar options -A -o file t n在命令行中,n 和 t 两个参数组合起来定义采样间隔和次数,t 为采样间隔,是必须有的参数,n 为采样次数,是可选的,默认值是 1,-o file 表示将命令结果以二进制格式存放在文件中,file 在此处不是关键字,是文件名。options 为命令行选项,sar 命令的 选项很多,下面只列出常用选项:-A:所有报告的总和-u:CPU 利用率-v:进程、I 节点、文件和锁表状态-d:硬盘使用报告-r:没有使用的内存页面和硬盘块-g:串口 I/O 的情况-b:缓冲区使用情况-a:文件读写情况-c:系统调用情况-R:进程的活动情况-y:终端设备活动情况-w:系统交换活动例一:获取 I/O 信息,每秒钟采样一次,共计采样 3 次:例二:使用命行 sar -v t n例如,每 30 秒采样一次,连续采样 5 次,观察核心 表的状态,需键入如下命令:# sar -v 30 5屏幕显示: java view plain copy1. SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 2. 10:33:23 proc-sz ov inod-sz ov file-sz ov lock-sz (-v) 3.10:33:53 305/ 321 0 1337/2764 0 1561/1706 0 40/ 128 4.10:34:23 308/ 321 0 1340/2764 0 1587/1706 0 37/ 128 5.10:34:53 305/ 321 0 1332/2764 0 1565/1706 0 36/ 128 6.10:35:23 308/ 321 0 1338/2764 0 1592/1706 0 37/ 128 7.10:35:53 308/ 321 0 1335/2764 0 1591/1706 0 37/ 128 显示内容包括:proc-sz:目前核心中正在使用或分配的进程表的表 项数,由核心参数 MAX-PROC 控制。inod-sz:目前核心中正在使用或分配的 i 节点表的表项数,由核心参数 MAX- INODE 控制。file-sz: 目前核心中正在使用或分配的文件表的表项数,由核心参数MAX-FILE 控 制。ov:溢出出现的次数。Lock-sz:目前核心中正在使用或分配的记录加锁的表项数,由核心参数 MAX-FLCKRE 控 制。显示格式为实际使用表项/可以使用的表项数显示内容表示,核心使用完全正常,三个表没有出现 溢出现象,核心参数不需调整,如果出现溢出时,要调整相应的核心参数,将对应的表项数加大。例三:使用命行 sar -d t n 例如,每 30 秒采样一次,连续采样 5 次,报告设备使用情况,需键入如下命令: # sar -d 30 5 屏幕显示:java view plain copy1. SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 2.11:06:43 device %busy avque r+w/s blks/s avwait avserv (-d) 3.11:07:13 wd-0 1.47 2.75 4.67 14.73 5.50 3.14 4.11:07:43 wd-0 0.43 18.77 3.07 8.66 25.11 1.41 5.11:08:13 wd-0 0.77 2.78 2.77 7.26 4.94 2.77 6.11:08:43 wd-0 1.10 11.18 4.10 11.26 27.32 2.68 7.11:09:13 wd-0 1.97 21.78 5.86 34.06 69.66 3.35 8.Average wd-0 1.15 12.11 4.09 15.19 31.12 2.80 9. 显示内容包括: device: sar 命令正在监视的块设备的名字。 %busy: 设备忙时,传送请求所占时间的百分比。 avque: 队列站满时,未完成请求数量的平均值。 r+w/s: 每秒传送到设备或从设备传出的数据量。 blks/s: 每秒传送的块数,每块 512 字节。 avwait: 队列占满时传送请求等待队列空闲的平均时间。avserv: 完成传送请求所需平均时间(毫秒)。在显示的内容中,wd-0 是硬盘的名字,%busy 的值比较小,说明用于处理传送请求的有 效 时间太少,文件系统效率不高,一般来讲,%busy 值高些,avque 值低些,文件系统 的效率比较高,如果%busy和 avque 值相对比较 高,说明硬盘传输速度太慢,需调整。例四:使用命行 sar -b t n 例如,每 30 秒采样一次,连续采样 5 次,报告缓冲区的使用情 况,需键入如下命令: # sar -b 30 5屏幕显示:java view plain copy1.SCO_SV scosysv 3.2v5.0.5 i80386 10/01/2001 2.14:54:59 bread/s lread/s %rcache bwrit/s lwrit/s %wcache pread/s pwrit/s (-b) 3.14:55:29 0 147 100 5 21 78 0 0 4.14:55:59 0 186 100 5 25 79 0 0 5.14:56:29 4 232 98 8 58 86 0 0 6.14:56:59 0 125 100 5 23 76 0 0 7.14:57:29 0 89 100 4 12 66 0 0 8.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 效率,增
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号