监控命令linux 监控命令使用与汇编语言( 五 )


比如这里找到了一个TID : 30834,所占用的TIME时间最高 。
通过 printf “%x\n” 30834 首先转化成16进制,继续通过jstack命令dump出当前的jvm进程的堆栈信息 。通过Grep命令即可以查到对应16进制的线程id信息,很快就可以找到对应最耗CPU的代码快在哪 。
简单的解释下,jstack下这一串线程信息内容:
Java代码
“DboServiceProcessor-4-thread-295” daemon prio=10 tid=0x00002aab047a9800 nid=0x7d9b waiting on condition [0x0000000046f66000]
nid : 对应的linux操作系统下的tid,就是前面转化的16进制数字
tid: 这个应该是jvm的jmm内存规范中的唯一地址定位,如果你详细分析jvm的一些内存数据时用得上,我自己还没到那种程度,所以先放下
top命令
命令:top -Hp pid
结果显示:
和前面的效果一下,你可以实时的跟踪并获取指定进程中最耗cpu的线程 。再用前面的方法提取到对应的线程堆栈信息 。
判断I/O瓶颈
mpstat命令
命令:mpstat -P ALL 1 1000
结果显示:
注意一下这里面的%iowait列,CPU等待I/O操作所花费的时间 。这个值持续很高通常可能是I/O瓶颈所导致的 。
通过这个参数可以比较直观的看出当前的I/O操作是否存在瓶颈
如何监视Linux系统资源的使用情况如何监视Linux系统资源的使用情况
虚拟终端 命令 free
命令
可以用百度搜索
你值得拥有:25 个 Linux 性能监控工具
里面有一些其它的好工具 。
命令、uptime、free
参看::wenku.baidu./link?url=kExcj6W2dhzD6d4UzUW1td4NoIyghYMp3IHo2D8-kNIl0RzwFlR6kahsL6peg8mNWZ6pLaLSwKsaU5PB96MPAoBVu7L_YXSztvNvIykFJ_C
Linux操作系统也会有闹脾气的时候 。在某些情况下,其系统的资源使用率(包括CPU或者内存),也会达到90%以上甚至更多 。为此系统管理员在必要的时候,仍然需要监视系统资源的使
虽然说Linux操作系统要比Windows操作系统稳定的多 。但是这个稳定是相对而言的 。也就是说,Linux操作系统也会有闹脾气的时候 。在某些情况下 , 其系统的资源使用率(包括CPU或者内存),也会达到90%以上甚至更多 。为此系统管理员在必要的时候,仍然需要监视系统资源的使用情况 。笔者今天就给大家介绍一下,在Linux操作系统下如何监视这个系统资源,做到心中有数 。
在Windows操作系统中,可以通过任务管理器来查询各个进程所占用的CPU与内存的比率 。在Linux操作系统中没有这种图形化的管理 。在命令行模式下,键入命令,即可以看到各个进程所占用的系统资源 。
ppp作为一个合格的系统管理员,出于系统性能优化或者其他方面的考虑 , 往往需要掌握系统中最消耗CPU或者内存资源的程序 。为了达到这个目的,系统管理员就需要借助系统提供的命令 。这个命令可以帮助管理员监控系统资源的使用情况,包括内存、CPU、交换文件分区的使用率等等 。就是这个命令的执行结果 。系统管理员想要提升操作系统的性能,第一步就是需要读懂上面这张表格 。如果这种图中的内容系统管理员无法看懂,那么他就想提升系统的性能根本无法入手 。
Top命令的运行结果大致可以分为两个部分 。上半部是使一些统计的信息,包括内存和交换分区的使用情况、CPU的运行情况、进程的总数等等 。在这些统计信息中,系统管理员除了要关注这些重要资源的使用滤外,还需要注意进程运行的状态 。可见在Linux系统中进程的状态主要有四种,分别为running、sleeping、sped和zombie 。如果从系统维护与性能优化考虑,则系统管理员需要关注那些状态为zombie的进程 。若进程处于这个状态,在Linux操作系统中叫做僵尸进程 。什么叫做僵尸进程呢?就是那些父进程还没死、但是子进程却死了的进程 。在Linux操作系统中,进程一般分为父进程和子进程 。某个进程A可能会调用另外一个进程B 。此时这个进程A就叫做父进程,而进程B就叫做子进程 。由于一些意外的情况,子进程运行已经停止 , 但是父进程却还不知道子进程早已停止运行,还在那边傻傻的等待着子进程返回运行结果 。由于子进程没有返回结果,则父进程可能一直会在那边等待 。从而导致系统性能的下降 。如果系统管理员发现有僵尸进程的话,首先要做的就是结束父进程(有时候还需要查看这个父进程打开的其他子进程运行情况),以释放其占用的系统资源 。其次如果这种情况发生的比较频繁时,则系统管理员就需要分析到底是什么原因导致这种情况发生的 。找到原因后要采取积极的措施 。通常情况下,如果子进程的状态为僵尸时,父进程就不会自动结束 , 从而其占用的系统资源就不会自动释放 , 从而降低操作系统的性能 。

推荐阅读