如何使用Nmon监控Linux系统性能

如何使用Nmon监控Linux系统性能,第1张

用Nmon监控Linux系统性能的方法请参见下面介绍(配图):

1、安装Nmon

2、一旦安装完成,则可以通过在终端执行 nmon 命令启动它。

Nmon命令执行之后,大家可以看到如下输出:

3、从上图中大家可以看到,Nmon 命令行工具是一个用户交互的应用程序,大家可以非常方便地使用键盘快捷键来查看相关统计信息。

q : 停止并退出Nmon

h : 查看帮助信息

c : 查看 CPU 统计信息

m : 查看内存统计信息

d : 查看磁盘统计信息

k : 查看内核统计信息

n : 查看网络统计信息

N : 查看 NFS 统计信息

j : 查看文件系统统计信息

t : 查看 Top 进程统计信息

V : 查看虚拟内存统计信息

v : 详细输出模式

4、查看 CPU 统计信息

如果你想查看 CPU 性能信息,可以直接按 c 键:

5、查看 Top 进程统计信息

如果你想查看 Top 进程统计信息,可以直接按 t 键:

6、查看网络统计信息

如果你想查看网络统计信息,可以直接按 n 键:

7、磁盘I/O图

使用 d 键可以查看磁盘统计信息:

8、查看内核统计信息

如果你想查看内核统计信息,可以直接按 k 键:

9、获取系统信息

如果要查看 Linux 的系统信息,如:系统架构、 *** 作系统版本、Linux 版本则可以使用 r 键,这对系统管理员非常有用。

以上是基础使用方法。下面再补充一些命令和方法:

1、启动

打开nmon所在的目录:cd /usr/local/nmon

修改启动文件的访问权限:chmod 755 nmon_x86_rhel52

启动nmon:./nmon_x86_rhel52

如果要采样nmon的数据保存成文件,可以

./nmon_x86_rhel52 -fT -s 30 -c 120

其中30表示每隔30秒nmon取一次系统性能数据,120表示取120次;

这样nmon将会在运行开始算起连续取得30sX120=60分钟,可根据实际需要时间调整;当运行以上命令后该目录下会生成一个.nmon文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大

利用nmonanalyser分析.nmon文件

当测试结束的同时ftp到服务器上将.nmon文件get下来,

打开nmon_analyser.zip 包下的nmon analyser v338.xls 文件,点击Analyse nomn data按钮,选择之前get来下的.nmon文件。

(如果报告以下宏的安全级别太高错误,则在“工具 -- 宏 --安全性”里把级别调低,然后重新打开 nmon analyser v338.xls 文件)

待分析结束后会生成性能分析结果文件(文件格式为.xls,其中包括CPU,IO,内存等性能分析报告)。

分析结果中有很多数据和图形,简要介绍主要的性能参数图像

4.1 系统汇总(对应excel标签的‘SYS_SUMM’)

蓝线为cpu占有率变化情况

粉线为磁盘IO的变化情况;

4.2磁盘读写情况汇总(对应excel标签的‘DISK_SUMM’)

蓝色为磁盘读的速率KB/sec

紫色为磁盘写的速率KB/sec

4.3内存情况汇总(对应excel标签的‘MEM’)

曲线表示内存剩余量(MB)

分析数据得到的报告文件(.xls)中包含很多性能分析结果数据,根据自己的需要查看。

2、nmon运行本身就消耗系统资源的;

另外如果取到.nmon文件后确定不再需要nmon继续收集信息则应kill掉nmon;

命令:

ps -A | grep nmon #得到pid

kill -9 pid

suse10 enterprise sp2:

nmon_x86_rhel3

使用对应的 *** 作系统文件:

chmod +x nmon_x86_ubuntu810

mv nmon_x86_ubuntu810 /usr/local/bin/nmon

对于 Debian 还要做以下 *** 作(不做也同样能运行):

apt-get install lsb-release

lsb_release -d | sed 's/Description:\t//' > /etc/debian_release

然后直接运行 nmon 即可。

采集数据并生成报表:

采集数据:

nmon -s10 -c60 -f -m /home/

参数解释:

-s10 每 10 秒采集一次数据。

-c60 采集 60 次,即为采集十分钟的数据。

-f 生成的数据文件名中包含文件创建的时间。

-m 生成的数据文件的存放目录。

这样就会生成一个 nmon 文件,并每十秒更新一次,直到十分钟后。

生成的文件名如: hostname_090824_1306.nmon ,"hostname" 是这台主机的主机名。

生成报表:

下载 nmon analyser (生成性能报告的免费工具):

http://www.ibm.com/developerworks/wikis/display/Wikiptype/nmonanalyser

把之前生成的 nmon 数据文件传到 Windows 机器上,用 Excel 打开分析工具 nmon analyser v33C.xls 。点击 Excel 文件中的 "Analyze nmon data" 按钮,选择 nmon 数据文件,这样就会生成一个分析后的结果文件: hostname_090824_1306.nmon.xls ,用 Excel 打开生成的文件就可以看到结果了。

如果宏不能运行,需要做以下 *** 作:

工具 -> 宏 -> 安全性 -> 中,然后再打开文件并允许运行宏。

自动按天采集数据:

在 crontab 中增加一条记录:

0 0 * * * root nmon -s300 -c288 -f -m /home/ > /dev/null 2>&1

300*288=86400 秒,正好是一天的数据。

采样文件越来越大:

[email protected].***:~/nmon# ./nmon -s1 -c33 -f         

[email protected].***:~/nmon# 

[email protected].***:~/nmon# du  -sh *

8.0K    AD39_***_sles10_101207_1046.nmon

160K    nmon

[email protected].***:~/nmon# du  -sh *

12K     AD39_***_sles10_101207_1046.nmon

160K    nmon

[email protected].***:~/nmon# du  -sh *

16K     AD39_***_sles10_101207_1046.nmon

160K    nmon

[email protected].***:~/nmon# du  -sh *

20K     AD39_***_sles10_101207_1046.nmon

160K    nmon

[email protected].***:~/nmon# du  -sh *

20K     AD39_***_sles10_101207_1046.nmon

160K    nmon

注:以上一些机器名称或系统名称,请根据实际情况自行调整及修改。

 首先在IBM的官方网上下载nmon工具,下载时注意要下载对应的版本。我们这里以red hat server enterprise 5为例,下载的是nmon_x86_12a.zip版本,该版本支持redhat。下载后解压,改名为nmon并上传到Linux中。

进入nmon目录,查看nmon文件下各文件的权限。

[root@localhost nmon]# ls -l

total 1212

-rw-r--r-- 1 hyzhou hyzhou 167781 Feb 12  2009 nmon_x86_fedora10

-rw-r--r-- 1 hyzhou hyzhou 168875 Feb 11  2009 nmon_x86_opensuse10

-rw-r--r-- 1 hyzhou hyzhou 152131 Feb 11  2009 nmon_x86_rhel45

-rw-r--r-- 1 hyzhou hyzhou 167957 Feb 13  2009 nmon_x86_rhel52

-rw-r--r-- 1 hyzhou hyzhou 174171 Feb 12  2009 nmon_x86_sles10

-rw-r--r-- 1 hyzhou hyzhou 154107 Feb 14  2009 nmon_x86_sles9

-rw-r--r-- 1 hyzhou hyzhou 183215 Feb 13  2009 nmon_x86_ubuntu810

从图中可以看出,相关文件的权限仅有只读权限,这样在执行命令的时候可能会存在没有权限的问题,为了能够正常使用nmon工具,我们需要修改文件的权限。这里只修改nmon_x86_rhel52的权限,为了方便,直接改成777。

#chmod u+x nmon_x86_rhel52

修改完成后,就完成了nmon工具安装。

用 'top -i' 看看有多少进程处于 Running 状态,可能系统存在内存或 I/O 瓶颈,用 free 看看系统内存使用情况,swap 是否被占用很多,用 iostat 看看 I/O 负载情况...

还有一种办法是 ps -ef | sort -k7 ,将进程按运行时间排序,看哪个进程消耗的cpu时间最多。

top:

主要参数 :

free

1.作用

free命令用来显示内存的使用情况,使用权限是所有用户。

**2.格式 **

**3.主要参数 **

uptime

vmstat

**1 观察磁盘活动情况 **

磁盘活动情况主要从以下几个指标了解:

**2 观察cpu活动情况 **

vmstat比top更能反映出cpu的使用情况:

iostat

用于统计CPU的使用情况及tty设备、硬盘和CD-ROM的I/0量

即使爬到最高的山上,一次也只能脚踏实地地迈一步。

Linux查看CPU和内存使用情况:

在做Linux系统优化的时候,物理内存是其中最重要的一方面。自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况。下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看内存使用情况的各种方法。

1. /proc/meminfo

查看RAM使用情况最简单的方法是通过 /proc/meminfo 。这个动态更新的虚拟文件实际上是许多其他内存相关工具(如:free / ps / top)等的组合显示。 /proc/meminfo 列出了所有你想了解的内存的使用情况。进程的内存使用信息也可以通过/proc/<pid>/statm 和 /proc/<pid>/status 来查看。

atop命令是一个终端环境的监控命令。它显示的是各种系统资源(CPU, memory, network, I/O, kernel)的综合,并且在高负载的情况下进行了彩色标注。

free命令是一个快速查看内存使用情况的方法,它是对 /proc/meminfo 收集到的信息的一个概述。

GNOME System Monitor 是一个显示最近一段时间内的CPU、内存、交换区及网络的使用情况的视图工具。它还提供了一种查看CPU及内存使用情况的方法。

htop命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小、程序总内存大小、共享库大小等的报告。列表可以水平及垂直滚动。

功能同 4 中介绍的GENOME版本。

memstat是一个有效识别executable(s), process(es) and shared libraries使用虚拟内存情况的命令。给定一个进程ID,memstat可以列出这个进程相关的可执行文件、数据和共享库。

nmon是一个基于ncurses的系统基准测试工具,它可以监控CPU、内存、I/O、文件系统及网络资源等的互动模式。对于内存的使用,它可以实时的显示 总/剩余内存、交换空间等信息。

ps命令可以实时的显示各个进程的内存使用情况。Reported memory usage information includes %MEM (percent of physical memory used), VSZ (total amount of virtual memory used), and RSS (total amount of physical memory used)。你可以使用 “–sort”选项对进程进行排序,例如按RSS进行排序:

smem命令允许你统计基于/proc信息的不同进程和用户的内存使用情况。内存使用情况的分析可以导出图表(如条形图和饼图)。

top命令提供了实时的运行中的程序的资源使用统计。你可以根据内存的使用和大小来进行排序。

vmstat命令显示实时的和平均的统计,覆盖CPU、内存、I/O等内容。例如内存情况,不仅显示物理内存,也统计虚拟内存。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/tougao/6069412.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-13
下一篇 2023-03-13

发表评论

登录后才能评论

评论列表(0条)

保存