实时监控Linux程序的技巧和方法
成都创新互联致力于互联网网站建设与网站营销,提供成都网站建设、网站制作、网站开发、seo优化、网站排名、互联网营销、成都微信小程序、公众号商城、等建站开发,成都创新互联网站建设策划专家,为不同类型的客户提供良好的互联网应用定制解决方案,帮助客户在新的全球化互联网环境中保持优势。
随着计算机技术的发展和应用范围的日益扩大,Linux已成为开源操作系统领域的佼佼者,应用领域广泛,无论是服务器端还是嵌入式设备应用都离不开它。在Linux中,程序运行时出现问题是家常便饭的事情,如何及时发现并修复程序的问题,则是很多开发者和运维人员关心的话题。本篇文章将探讨实时监控Linux程序的技巧和方法,帮助大家快速定位和解决程序的问题。
1. 常用监控工具
为了实时监控Linux程序,需要使用一些常用的监控工具。以下是一些常用的监控工具:
1.1 top命令
top命令是一个实时进程监视器,在终端窗口中可以通过top命令查看系统当前运行的进程信息,包括进程ID、CPU使用率、内存使用率等。同时,top命令还可以对进程进行操作,如杀死僵尸进程或快速查看占用资源更高的进程。使用方法:在终端中输入top命令并回车即可。
1.2 ps命令
ps命令用于显示系统当前运行的进程信息,与top命令类似,但ps命令的输出信息更加详细。同时,ps命令还支持一些选项,可以通过选项过滤出特定的进程信息。使用方法:在终端中输入ps命令并回车即可。
1.3 strace命令
strace命令用于跟踪进程执行过程中的系统调用和信号,可以帮助开发者和运维人员定位程序的问题,如进程崩溃、死锁等。使用方法:在终端中输入strace命令并加上要跟踪的进程ID即可。
1.4 lsof命令
lsof命令用于显示系统当前打开的文件和进程信息,可以帮助开发者和运维人员查找进程引用的文件、套接字等资源,帮助快速定位问题。使用方法:在终端中输入lsof命令并加上要查找的进程ID即可。
1.5 tcpdump命令
tcpdump命令用于抓取网络上的数据包,可以帮助开发者和运维人员定位网络问题,如流量异常、丢包等。使用方法:在终端中输入tcpdump命令并加上要抓取网络数据包的条件即可。
2.监控脚本编写
除了常用的监控工具外,还可以通过编写监控脚本实现程序的监控。以下是一些注意事项:
2.1 编写简洁的脚本
编写监控脚本需要注意脚本的简洁性,尽量避免复杂的操作,只保留必要的监控动作,以减少脚本的执行时间。
2.2 设置监控时间间隔
监控脚本需要设置监控时间间隔,以避免频繁监控对系统造成过大的负荷。监控时间间隔可根据实际情况进行调整,建议设置在1-5分钟之间。
2.3 输出监控结果
监控脚本在执行完监控的动作后,需要将监控结果进行输出,以便开发者和运维人员实时了解程序的运行状态。
3.实际应用案例
在实际应用中,我们可以结合上述监控工具和监控脚本,实现程序的实时监控。以下是一个实际应用案例:
在一台Linux服务器上运行了一个Web服务器程序,在客户端访问时出现了网络延迟问题。为了解决这个问题,我们可以根据上述方法进行监控。
3.1 使用tcpdump命令抓取网络数据包
在终端中输入tcpdump命令,指定抓取网络数据包的条件,以过滤出相应的数据包。
3.2 使用ps命令查找进程ID
使用ps命令查找Web服务器程序的进程ID,并记录下来,以便后续使用。
3.3 使用strace命令跟踪进程执行
使用strace命令对Web服务器程序进行跟踪,并记录下跟踪结果。根据结果,我们可以查看程序执行时调用的系统调用和信号,并判断是否存在异常情况。
3.4 编写监控脚本
根据上述监控工具的输出结果,编写监控脚本。监控脚本需要实时监测Web服务器程序的状态,并输出监控结果。
4.
本篇文章介绍了实时监控Linux程序的技巧和方法,包括常用的监控工具和监控脚本的编写。在实际应用中,可以根据实际需要进行选择和组合,并结合运维经验,快速定位和解决程序的问题。同时,需要注意操作的安全性,以避免对系统造成不必要的风险。
相关问题拓展阅读:
一、概述
nmon是一种在AIX与各种Linux操作系统上广泛使用的监控与分析工具,相对于其它一些系统资源监控工具来说,nmon所记录的信息是比较全面的,它能在系统运行过程中实时地捕捉系统资源的使用情况,并且能输出结果到文件中,然后通过nmon_yzer工具产生数据文件与图形化结果。
nmon所记录的数据包含以下一些方面(也是我们在寻找问题过程中所关注的资源点):
·cpu占用率
·内存使用情况
·磁盘I/O速度、传输和读写比率
·文件系统的使用率
·网络I/O速度、传输和读写比率、错误统计率与传输包的大小
·消耗资源最多的进程
·计算机详细信息橡改键和资源
·页面空间和页面I/O速度
·用户自定义的磁盘组
·网络文件系统
另外在AIX操作系统上,nmon还能监控到其他的一些信息,如异步I/O等。
二、下载安装nmon
1、下载安装包:
选择下载相应的版本,我下载的是 nmon16d_x86.tar.gz。解压后里边有很多版本的nmon,我用的是nmon_linux_x86_64,亲测可用。
2、直接在window中将解压好的nmon_linux_x86_64通过sftp上传到要监控的linux系统中对应目录下
3、执行授权命令:
# chmod +x nmon_x86_64_linux
4、运行./nmon_x86_64_linux,便可进入nmon的监控界面,如下图:
三、实时监控
在完成配置后,只需要“#./nmon”命令即可运行程序,通过一些快捷键调取关心的系统资源指标进行显示,如按键“C”可以查看CPU相 关信息;按键“D”可以查看磁盘信息;按键“T”可以查看系统的进程信息;“M”对应内存、“N”对应网络等等,完整的快捷键对应内容可以通过帮助(按键 “H”)查看,可以显示Linux系统CPU、内存、进程信息,包括了CPU的用户、系统、等待和空闲状态值,可用内存、缓存大小以及进程的CPU消耗等详细指标。该种歼棚方式显示信息实时性强梁巧,能够及时掌握系统承受压力下的运行情况,每颗CPU利用率是多少、内存使用多少、网络流量多少、磁盘读写……这些数据均是实时刷新,一目了然。
键入“c”查看系统CPU使用情况
键入“m”查看系统内存使用情况
键入“d”查看系统磁盘I/O情况
键入“h”查看帮助信息
用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文件,该文件会根据间隔时间被写入性能数据,当一段时间后再查看该文件,文件字节变大
利用nmonyser分析.nmon文件
当测试结束的同时ftp到服务器上将.nmon文件get下来,
打开nmon_yser.zip 包下的nmon yser v338.xls 文件,点击Analyse nomn data按钮,选择之前get来下的.nmon文件。
(如果报告以下宏的安全级别太高错误,则在“工具 — 宏 –安全性”里把级别调低,然后重新打开 nmon yser 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 l-release
l_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 yser (生成性能报告的免费工具):
把之前生成的 nmon 数据文件传到 Windows 机器上,用 Excel 打开分析工具 nmon yser 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 秒,正好是一天的数据。
采样文件越来越大:
.***:~/nmon# ./nmon -s1 -c33 -f
.***:~/nmon#
.***:~/nmon# du -sh *
8.0K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
12K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
16K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
20K AD39_***_sles10_101207_1046.nmon
160K nmon
.***:~/nmon# du -sh *
20K AD39_***_sles10_101207_1046.nmon
160K nmon
注:以上一些机器名称或系统名称,请根据实际情况自行调整及修改。
Nmon ( 又名 Nigel’s Monitor) 是非常常用的系统性能监视工具,由 IBM 工程师 Nigel Griffiths 开发,适用于 AIX 和 Linux 操作系统。该工具可以直接在屏幕上显示当前操作系统的资源利用率,以帮助大家找出系统瓶颈和协助系统调优。由于其十分出名,在 10大好用的Linux实用工具推荐 一文中已进行过简单推荐。
使用 Nmon 大家便可以轻松监控系统 CPU、内存、网络、磁盘、文件系统、NFS、Top 进程等信息。
安装Nmon
默认 Nmon 已在 Ubuntu 的源中,大家可以直接使用 apt-get 进行安装:
sudo apt-get install nmon
如何使用Nmon监控Linux系统性能
使用Nmon监控Linux系统性能
一旦安装完成,则可以通过在终端执行 nmon 命令启动它。
Nmon命令执行之后,大家可以看到如下输出:
Nmon
从上图中大家可以看到,Nmon 命令行工具是一个用户交互让慎的应用程序,大家可以非常方便地使用键盘快捷键来查看相关统计信息。
q : 停止并退出Nmon
h : 查看帮助信息
c : 查看 CPU 统计信息
m : 查看内存统计信息
d : 查看磁盘统计信息
k : 查看内核统计信息
n : 查看网络统计信息
N : 查看 NFS 统计信息
j : 查看文件系统统计信息
t : 查看 Top 进程统计信息
V : 查看虚拟内存统计信息
v : 详细输出模式
查看 CPU 统计信息
如果你想查看 CPU 性能信息,可以直接按 c 键:
Nmon
查看 Top 进程统计信息
如果你想查看 Top 进程统计信息,可以直接按 t 键:
Nmon
查洞梁看网络统计信息
如果你想查看网络统计信息,可以直接按 n 键:
Nmon
磁盘I/纳滑运O图
使用 d 键可以查看磁盘统计信息:
Nmon
查看内核统计信息
如果你想查看内核统计信息,可以直接按 k 键:
Nmon
获取系统信息
如果要查看 Linux 的系统信息,如:系统架构、操作系统版本、Linux 版本则可以使用 r 键,这对系统管理员非常有用。
Nmon
Nmon ( 又名 Nigel’s Monitor) 是非常常用的系统性能监视工具,由 IBM 工程师 Nigel Griffiths 开发,适用于 AIX 和 Linux 操作系统。该工具可以直接在屏幕上显示当前操作系统的资源利用率,以帮助大家找出系统瓶颈和协助系统调优。使用 Nmon 大家便态闷可以轻松监控系统 CPU、内存、网络、磁盘、文件系统、NFS、Top 进程等信息。
安装:sudo apt-get install nmon
一旦安装完成,则可以通过在终端执行 nmon 命令启动它
下面是一些说明:
q : 停止并退出Nmon
h : 查看帮助信息
c : 查看 CPU 统计信息
m : 查看内存统计信息
d : 查看磁盘统计信息
k : 查看内核统计信息
n : 查看网络统计信息
N : 查看 NFS 统计信息
j : 查看文件系统统计信息
t : 查看 Top 进程统计信息
V : 查看虚拟内存统计信息
v : 详细输出模式
查看 CPU 性能信息,可以直接按 c 键
查看 Top 进程统计信息,可以直接核困按 t 键
查看网络统计信息,可以直接按 n 键
d 键可以查看磁盘统计信息改闭念
查看内核统计信息,可以直接按 k 键
查看 Linux 的系统信息,如:系统架构、操作系统版本、Linux 版本则可以使用 r 键,这对系统管理员非常有用。
关于如何实时监控linux程序的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。
创新互联成都网站建设公司提供专业的建站服务,为您量身定制,欢迎来电(028-86922220)为您打造专属于企业本身的网络品牌形象。
成都创新互联品牌官网提供专业的网站建设、设计、制作等服务,是一家以网站建设为主要业务的公司,在网站建设、设计和制作领域具有丰富的经验。
文章题目:实时监控linux程序的技巧和方法(如何实时监控linux程序)
浏览路径:http://www.shufengxianlan.com/qtweb/news0/22150.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联