资讯

精准传达 • 有效沟通

从品牌网站建设到网络营销策划,从策略到执行的一站式服务

常用linux监控命令 linux常用性能监控命令

Linux系统监控要用到哪些命令

找到最耗CPU的java线程

成都创新互联公司10多年企业网站制作服务;为您提供网站建设,网站制作,网页设计及高端网站定制服务,企业网站制作及推广,对柴油发电机等多个领域拥有多年设计经验的网站建设公司。

ps命令

命令:ps -mp pid -o THREAD,tid,time 或者 ps -Lfp pid

结果展示:

这个命令的作用,主要是可以获取到对应一个进程下的线程的一些信息。 比如你想分析一下一个java进程的一些运行瓶颈点,可以通过该命令找到所有当前Thread的占用CPU的时间,也就是这里的最后一列。

比如这里找到了一个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就叫做子进程。由于一些意外的情况,子进程运行已经停止,但是父进程却还不知道子进程早已停止运行,还在那边傻傻的等待着子进程返回运行结果。由于子进程没有返回结果,则父进程可能一直会在那边等待。从而导致系统性能的下降。如果系统管理员发现有僵尸进程的话,首先要做的就是结束父进程(有时候还需要查看这个父进程打开的其他子进程运行情况),以释放其占用的系统资源。其次如果这种情况发生的比较频繁时,则系统管理员就需要分析到底是什么原因导致这种情况发生的。找到原因后要采取积极的措施。通常情况下,如果子进程的状态为僵尸时,父进程就不会自动结束,从而其占用的系统资源就不会自动释放,从而降低操作系统的性能。

二、Top命令的使用技巧。

1、 选择合适的排序顺序。

在Windows操作系统的任务管理器中,管理员可以根据需要选择合适的排序顺序,如按CPU排序或者按内存的使用率进行排序。而在命令的显示结果中,默认情况下是按照CPU的使用率来进行排序的。如果现在系统管理员想按照内存使用率来排序,该如何处理呢?如果要想改变命令结果的排序顺序,则可以按m键来按内存进行排序。注意这里的m是小写,而不是大写的。在Linux操作系统中大部分命令与参数大小写都是敏感的。这跟微软操作系统中的DOS命令不同。Dos命令是不区分大小写的。虽然这个排序没有像微软操作系统中的任务管理器那么方便,只需要点点鼠标就可以完成排序。但是只要熟悉相关的命令,在命令行中对其排序没有大家想想的那么困难。

2、 监视特定用户使用的资源情况。

在Windows操作系统中,如果想要查看特定帐户所打开的进程以及所耗用的系统资源,操作非常简单。只需要打开系统任务管理器,然后按照用户来进行排序。就可以知道某个用户开启了哪些进程以及所占用的比例。而在命令中,没有按帐户进行排序的功能。即在上面这个显示结果中,只可以按照内存使用率或者CPU负载来进行排序,而无法按照用户来进行排序。在同一个结果中夹杂着系统特权用户root与普通用户所打开的进程。这对于系统管理员查找问题原因非常的不方便。有时候系统管理员往往需要只查看特定用户的进程,如只需要查看oracle帐户所打开的进程以及所占用的系统资源。而忽略掉系统帐户。因为特权帐户其他用户无权进行登陆操作,而其运行的往往是一些系统级别的进程,为此一般不会出现问题。而普通用户可以运行一些应用程序。有时候他们糊里糊涂可能会打开一些非法程序,占用大量的系统资源,从而降低系统性能。废话少说,如何才能够查看特定帐户所启动的进程呢?其实很简单。现运行 命令,让系统统计所有帐户的进程。然后在需要查看特定帐户的进程使,只需要按u键(注意小写),然后输入用户名即可。此时系统会自动把其他帐户的进程过滤掉,方便系统管理员查看。按用户过滤后,仍然可以按m键来对现实的结果进行过滤。如果在一开始就需要查看某个特定用户的进程,那么只需要直接在 命令后面加入-u可选项然后带上具体的用户名即可。但是,此时如果再想查看全部用户的话,那么只有先推出命令,然后再利用命令不带任何选项,来查看所有用户的进程。或者说,再在这个窗口中输入字符u,然后直接按回车键,也可以显示所用用户的进程信息。

3、动态统计信息。

使用命令来统计进程的运行信息,跟微软操作系统的任务管理器一样,都是动态调整的。也就是说,系统会每隔一段时间去统计这个信息,然后动态的显示在窗口中。不需要用户手工去更新相关的信息。而且从上面的图形中可以看出,命令统计的信息要比微软任务管理器统计的信息要多的多。所以对系统管理员来说,具有更大的参考价值。笔者以前也很喜欢采用微软操作系统的任务管理器。而了解了命令后,就对其钟爱有加了。因为其不仅可以完成任务管理器中的所有功能。而且命令中有的信息在微软任务管理器中却无法显示。而这些信息往往对我们维护系统、提升性能具有很大的参考价值。

4、删除有异常的进程。

如果这个窗口中,发现某些进程有异常或者用户执行了规定以外的应用程序,如占用了太多的系统资源或者有僵尸进程的存在,则可以直接在这个窗口中讲其删除。操作的方法很简单,只需要在这个窗口内输入字符p,然后系统会提示系统管理员输入要关闭进程的PID。管理员只需要键入这个值,然后按回车键就可以杀掉不需要的进程。不过在关闭进程的时候,有权限的限制。系统特权帐户root可以关闭所有用户的进程。而普通帐户则只能够删除自己打开的程序,而无法关闭其他用户的进程。如现在系统管理员先以oracle用户登录,发现root帐户下某个进程异常,想要关闭时,系统会提示无法关闭的错误信息。此时管理员必须先终止这个进程,然后利用su命令更改登陆的帐户。然后再关闭这个异常的进程。系统管理员可以同时关闭多个进程。方法很简单,就是同时输入多个需要关闭的进程号。在各个进程号之间需要利用逗号隔开。

在系统维护中是一个很有用的命令。除了可以实现如上的功能外,还可以设置其动态更新的时间间隔等等。不过需要注意的是,在不同版本的 Linux系统中其功能稍有差异,而且其显示的布局与内容也有所不同。为此当系统管理员维护其不怎么熟悉的版本时,有时候需要查看系统的帮助说明。此时只需要在命令后面加上?号就可以获得相关的帮助。这个联机帮助文档根命令一样,都是系统管理员的好帮手。不过可惜的是,现在这些在线帮助文档都是英文的。所以这对系统管理员的英文说明要求比较高。

Linux系统下如何监视系统资源使用率求解答

但是这个稳定是相对而言的。也就是说,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就叫做子进程。由于一些意外的情况,子进程运行已经停止,但是父进程却还不知道子进程早已停止运行,还在那边傻傻的等待着子进程返回运行结果。由于子进程没有返回结果,则父进程可能一直会在那边等待。从而导致系统性能的下降。如果系统管理员发现有僵尸进程的话,首先要做的就是结束父进程(有时候还需要查看这个父进程打开的其他子进程运行情况),以释放其占用的系统资源。其次如果这种情况发生的比较频繁时,则系统管理员就需要分析到底是什么原因导致这种情况发生的。找到原因后要采取积极的措施。通常情况下,如果子进程的状态为僵尸时,父进程就不会自动结束,从而其占用的系统资源就不会自动释放,从而降低操作系统的性能。

二、Top命令的使用技巧。

1、 选择合适的排序顺序。

在Windows操作系统的任务管理器中,管理员可以根据需要选择合适的排序顺序,如按CPU排序或者按内存的使用率进行排序。而在命令的显示结果中,默认情况下是按照CPU的使用率来进行排序的。如果现在系统管理员想按照内存使用率来排序,该如何处理呢?如果要想改变命令结果的排序顺序,则可以按m键来按内存进行排序。注意这里的m是小写,而不是大写的。在Linux操作系统中大部分命令与参数大小写都是敏感的。这跟微软操作系统中的DOS命令不同。Dos命令是不区分大小写的。虽然这个排序没有像微软操作系统中的任务管理器那么方便,只需要点点鼠标就可以完成排序。但是只要熟悉相关的命令,在命令行中对其排序没有大家想想的那么困难。

2、 监视特定用户使用的资源情况。

在Windows操作系统中,如果想要查看特定帐户所打开的进程以及所耗用的系统资源,操作非常简单。只需要打开系统任务管理器,然后按照用户来进行排序。就可以知道某个用户开启了哪些进程以及所占用的比例。而在命令中,没有按帐户进行排序的功能。即在上面这个显示结果中,只可以按照内存使用率或者CPU负载来进行排序,而无法按照用户来进行排序。在同一个结果中夹杂着系统特权用户root与普通用户所打开的进程。这对于系统管理员查找问题原因非常的不方便。有时候系统管理员往往需要只查看特定用户的进程,如只需要查看oracle帐户所打开的进程以及所占用的系统资源。而忽略掉系统帐户。因为特权帐户其他用户无权进行登陆操作,而其运行的往往是一些系统级别的进程,为此一般不会出现问题。而普通用户可以运行一些应用程序。有时候他们糊里糊涂可能会打开一些非法程序,占用大量的系统资源,从而降低系统性能。废话少说,如何才能够查看特定帐户所启动的进程呢?其实很简单。现运行 命令,让系统统计所有帐户的进程。然后在需要查看特定帐户的进程使,只需要按u键(注意小写),然后输入用户名即可。此时系统会自动把其他帐户的进程过滤掉,方便系统管理员查看。按用户过滤后,仍然可以按m键来对现实的结果进行过滤。如果在一开始就需要查看某个特定用户的进程,那么只需要直接在 命令后面加入-u可选项然后带上具体的用户名即可。但是,此时如果再想查看全部用户的话,那么只有先推出命令,然后再利用命令不带任何选项,来查看所有用户的进程。或者说,再在这个窗口中输入字符u,然后直接按回车键,也可以显示所用用户的进程信息。

3、动态统计信息。

使用命令来统计进程的运行信息,跟微软操作系统的任务管理器一样,都是动态调整的。也就是说,系统会每隔一段时间去统计这个信息,然后动态的显示在窗口中。不需要用户手工去更新相关的信息。而且从上面的图形中可以看出,命令统计的信息要比微软任务管理器统计的信息要多的多。所以对系统管理员来说,具有更大的参考价值。笔者以前也很喜欢采用微软操作系统的任务管理器。而了解了命令后,就对其钟爱有加了。因为其不仅可以完成任务管理器中的所有功能。而且命令中有的信息在微软任务管理器中却无法显示。而这些信息往往对我们维护系统、提升性能具有很大的参考价值。

4、删除有异常的进程。

如果这个窗口中,发现某些进程有异常或者用户执行了规定以外的应用程序,如占用了太多的系统资源或者有僵尸进程的存在,则可以直接在这个窗口中讲其删除。操作的方法很简单,只需要在这个窗口内输入字符p,然后系统会提示系统管理员输入要关闭进程的PID。管理员只需要键入这个值,然后按回车键就可以杀掉不需要的进程。不过在关闭进程的时候,有权限的限制。系统特权帐户root可以关闭所有用户的进程。而普通帐户则只能够删除自己打开的程序,而无法关闭其他用户的进程。如现在系统管理员先以oracle用户登录,发现root帐户下某个进程异常,想要关闭时,系统会提示无法关闭的错误信息。此时管理员必须先终止这个进程,然后利用su命令更改登陆的帐户。然后再关闭这个异常的进程。系统管理员可以同时关闭多个进程。方法很简单,就是同时输入多个需要关闭的进程号。在各个进程号之间需要利用逗号隔开。

在系统维护中是一个很有用的命令。除了可以实现如上的功能外,还可以设置其动态更新的时间间隔等等。不过需要注意的是,在不同版本的 Linux系统中其功能稍有差异,而且其显示的布局与内容也有所不同。为此当系统管理员维护其不怎么熟悉的版本时,有时候需要查看系统的帮助说明。此时只需要在命令后面加上?号就可以获得相关的帮助。这个联机帮助文档根命令一样,都是系统管理员的好帮手。不过可惜的是,现在这些在线帮助文档都是英文的。所以这对系统管理员的英文说明要求比较高。

我想监视linux系统的内存使用情况,在linux下有哪

[root@iZ259r7h4pfZ ~]#

- 16:48:24 up 226 days, 8:34, 1 user, load average: 0.00, 0.00, 0.01

Tasks: 204 total, 1 running, 164 sleeping, 0 sped, 39 zombie

Cpu(s): 0.9%us, 0.9%sy, 0.0%ni, 98.1%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st

Mem: 1920740k total, 1123552k used, 797188k free, 24216k buffers

Swap: 0k total, 0k used, 0k free, 87436k cached

[root@iZ259r7h4pfZ ~]# free -m

total used free shared buffers cached

Mem: 1875 1097 778 0 23 85

-/+ buffers/cache: 988 887

Swap: 0 0 0

也可以用watch监控

[root@iZ259r7h4pfZ ~]# watch -n 1 "free -m"

Every 1.0s: free -m Tue Oct 31 16:48:44 2017

total used free shared buffers cached

Mem: 1875 1098 777 0 23 85

-/+ buffers/cache: 989 886

Swap: 0 0 0

LoadRunner如何监控Linux系统资源

这个需要配置吧

:blogs./yangxia-test/archive/2012/11/27/2790771.

怎样使用loadrunner监控linux系统资源

LR只是模拟客户端和服务器进行交互,并不能直观的收集服务器是内部的信息,如果要监控服务器性能情况,linux系统可以用nmon(或者用命令不过,只能监控内存之类的情况,写一个shell脚本定时输出日志到本地就可以了),oracle可以用awr。

如何查看linux资源使用情况

Linux查看系统资源占用

在系统维护的过程中,随时可能有需要查看 CPU和内存的使用率,并根据相应信息分析系统状况的需求。本文介绍一下几种常见的Linux系统资源查看命令。

1、总体内存占用的查看

命令:free

图1 free命令查看内存占用

(1) free命令默认是以kb为单位显示的,可以用free -m 用Mb单位来显示。

(2) Mem行 : total = used + free 其中buffers和cached虽然计算在used内, 但其实为可用内存。

(3) Mem下一行:used为真实已占内存,free为真实可用内存。

(4)Swap:内存交换区的使用情况。

2、查看内存占用前五的进程

命令:ps auxw | head -1;ps auxw|sort -rn -k4|head -5

图 2.1查看内存占用前5的进程

如图2.1所示, 内存的单位是kb,VSZ是虚拟内存的占用,RSS是真实的内存的占用。

命令分解:

ps auxw显示系统资源占用情况;

head -1表示显示第一列,即标题列;

sort -r 表示反向排序,-n表示按数字排序,-k4表示列的第4个字符。

3、查看CPU占用前三的进程

命令:ps auxw|head -1;ps auxw|sort -rn -k3|head -3

图3.1 查看cpu占用前三的进程

该命令与图2.1相仿,只是选择的资源占用情况的第3列(即cpu),用“-k3”表示。

4、查看系统整体的负载

命令:

图4.1 显示系统整体负载

(1)第一行: 系统时间 + 系统运行时间 + 几个用户 + 1/5/15分钟系统平均负载

(2)第二行:进程总数(total) + 正在运行进程数(running) + 睡眠进程数(sleeping) + 停止的进程数(sped)+ 僵尸进程数(zombie)

(3)第三行:用户空间CPU占比(us) + 内核空间CPU占比(sy)+ CPU空置率(id)

图4.2 各个任务占用资源情况

注解:

PID :进程ID

USER :用户名

PR :优先级

NI :负值表示高优先级,正值表示低优先级。

VIRT :虚拟内存

RES : 真实内存

SHR :共享内存

S :进程状态 D=不可中断的睡眠状态; R=运行; S=睡眠 ;T=跟踪/停止; Z=僵尸进程

参数:

-d 2 :每隔2秒显式所有进程的资源占用情况

-c :每隔5秒显式进程的资源占用情况,并显示进程的命令行参数(默认只有进程名)

-p 12345 -p 6789:每隔5秒显示pid是12345和pid是6789的两个进程的资源占用情况

-d 2 -c -p 123456 :每隔2秒显示pid是12345的进程的资源使用情况,并显式该进程启动的命令行参数

如何使用vmstat命令监视 CPU 的使用情况

假设一个线程被调度运行,它将一直运行直到它的时间片用完、直到被抢先或直到它自己主动放弃 CPU 控制权。

当另一个线程被赋予 CPU 控制权时,必须保存前一个线程的上下文或工作环境,并载入当前线程的上下文。操作系统有一个很有效的上下文切换过程,所以每次切换并不耗费资源。

任何上下文切换的显著增加,如当 cs 比磁盘 I/O 和网络包速率高的多,都应进行进一步调查。

linux查看内存使用情况

linux查看内存使用情况的方法是,1,proc。meminfo,查看 RAM 使用情况最简单的方法是通过 ,procmeminfo。这个动态更新的虚拟文件实际上是许多其他内存相关工具 free ,ps ,top的组合显示。

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

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

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

5,htop。htop 命令显示了每个进程的内存实时使用率。它提供了所有进程的常驻内存大小,程序总内存大小,共享库大小等的报告,列表可以水平及垂直滚动。6,KDE System Monitor功能同 4 中介绍的 GENOME 版本。

我想监视linux系统的内存使用情况,在linux下有哪些视图或者命令行工具可用

这方面的指令太多了,大体上整理一下12个吧。

1. /proc/meminfo

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

2. atop

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

3、 free

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

4. GNOME System Monitor

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

$ gnome-system-monitor

5. htop

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

6. KDE System Monitor

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

$ ksysguard

7. memstat

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

8. nmon

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

9. ps

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进行排序:

$ ps aux --sort -rss

10. smem

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

$ sudo smem --pie name -c "pss"

11. top

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

$ top

12. vmstat

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

$ vmstat -s

几个常用的linux性能监控命令

1. sar

每两秒刷新一次, 总共5次

[root@dbhost01 ~]# sar 2 5

Linux 2.6.32-504.el6.x86_64 (dbhost01) 03/30/2018 _x86_64_ (4 CPU)

02:53:15 PM CPU %user %nice %system %iowait %steal %idle

02:53:17 PM all 0.66 0.00 1.72 0.66 0.00 96.96

02:53:19 PM all 1.34 0.00 3.35 0.80 0.00 94.51

02:53:21 PM all 0.79 0.00 1.59 1.45 0.00 96.17

02:53:23 PM all 0.40 0.00 2.00 0.80 0.00 96.80

02:53:25 PM all 0.66 0.00 1.85 0.79 0.00 96.70

Average: all 0.77 0.00 2.10 0.90 0.00 96.23

2. top

top -a 按照内存降序

[root@dbhost01 ~]# top -a

top - 15:00:54 up 6:04, 1 user, load average: 0.31, 0.19, 0.11

Tasks: 306 total, 1 running, 305 sleeping, 0 stopped, 0 zombie

Cpu(s): 7.8%us, 2.4%sy, 0.0%ni, 88.9%id, 0.8%wa, 0.0%hi, 0.1%si, 0.0%st

Mem: 4048972k total, 3848576k used, 200396k free, 134844k buffers

Swap: 4194300k total, 1788k used, 4192512k free, 1835360k cached

3. vmstat

vmstat用于显示虚拟内存,内核线程,磁盘,系统进程, CPU活动等统计信息。

需要安装sysstat工具。

[root@dbhost01 ~]# vmstat

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

2 0 1788 202508 135064 1835920 0 0 32 26 96 276 1 2 95 1 0

[root@dbhost01 ~]#

[root@dbhost01 ~]# vmstat 2 5

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu-----

r b swpd free buff cache si so bi bo in cs us sy id wa st

0 0 1788 202336 135068 1836000 0 0 32 26 97 276 1 2 95 1 0

0 0 1788 202624 135068 1836000 0 0 25 29 4012 6682 0 1 98 1 0

0 0 1788 202624 135072 1836004 0 0 57 87 4003 6685 0 1 98 1 0

1 0 1788 202508 135072 1836004 0 0 57 33 4402 7353 1 1 98 0 0

0 0 1788 202540 135076 1836004 0 0 33 47 4002 6674 0 1 98 1 0

4. lsof(list open files)

[root@dbhost01 ~]# lsof | grep 1521

certmonge 2348 root 16r FIFO 0,8 0t0 15212 pipe

certmonge 2348 root 18r FIFO 0,8 0t0 15218 pipe

gipcd.bin 2754 grid 109u unix 0xffff880139152180 0t0 36936 socket

5. tcpdump

tcpdump -i eth1

15:24:28.777779 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393080:393596, ack 105, win 148, options [nop,nop,TS val 22996360 ecr 2443327], length 516

15:24:28.777809 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393080:393596, ack 105, win 148, options [nop,nop,TS val 22996360 ecr 2443327], length 516

15:24:28.778976 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393596:393968, ack 105, win 148, options [nop,nop,TS val 22996361 ecr 2443327], length 372

15:24:28.779011 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393596:393968, ack 105, win 148, options [nop,nop,TS val 22996361 ecr 2443327], length 372

15:24:28.779013 IP 192.168.2.82.50990 dbhost01.ssh: Flags [.], ack 393968, win 16652, options [nop,nop,TS val 2443327 ecr 22996360], length 0

15:24:28.779481 IP dbhost02-priv.23602 dbhost01-priv.24271: UDP, length 556

15:24:28.779585 IP dbhost01-priv.24271 dbhost02-priv.23602: UDP, length 80

15:24:28.779909 IP dbhost01-priv.24271 dbhost02-priv.23602: UDP, length 80

15:24:28.780584 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393968:394724, ack 105, win 148, options [nop,nop,TS val 22996362 ecr 2443327], length 756

15:24:28.780590 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 393968:394724, ack 105, win 148, options [nop,nop,TS val 22996362 ecr 2443327], length 756

15:24:28.780820 IP dbhost01-priv.24271 dbhost02-priv.23602: UDP, length 556

15:24:28.782232 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 394724:395176, ack 105, win 148, options [nop,nop,TS val 22996364 ecr 2443327], length 452

15:24:28.782235 IP dbhost01.ssh 192.168.2.82.50990: Flags [P.], seq 394724:395176, ack 105, win 148, options [nop,nop,TS val 22996364 ecr 2443327], length 452

6.netstat

[root@dbhost01 ~]# netstat -a | grep oracle

unix 2 [ ACC ] STREAM LISTENING 31861 /var/tmp/.oracle/ora_gipc_sdbhost01gridmyracdb-clusterCRFM_SIPC

unix 2 [ ACC ] STREAM LISTENING 33820 /var/tmp/.oracle/sdbhost01DBG_LOGD

unix 2 [ ACC ] STREAM LISTENING 41177 /var/tmp/.oracle/sdbhost01DBG_EVMD

unix 2 [ ACC ] STREAM LISTENING 65106 /var/tmp/.oracle/sAevm

unix 2 [ ACC ] STREAM LISTENING 65108 /var/tmp/.oracle/sSYSTEM.evm.acceptor.auth

7. htop

需要安装

8. iostat

Total DISK READ: 91.48 K/s | Total DISK WRITE: 45.27 K/s

TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND

4071 be/4 oracle 30.18 K/s 0.00 B/s 0.00 % 4.69 % ora_lmon_orcl1

4117 be/4 oracle 60.36 K/s 15.09 K/s 0.00 % 3.69 % ora_ckpt_orcl1

2989 rt/4 grid 965.71 B/s 0.00 B/s 0.00 % 2.13 % ocssd.bin

4099 be/4 oracle 0.00 B/s 30.18 K/s 0.00 % 0.07 % ora_ckpt_test

2987 rt/4 grid 0.00 B/s 482.86 B/s 0.00 % 0.03 % ocssd.bin

2979 rt/3 root 0.00 B/s 3.77 K/s 0.00 % 0.00 % ologgerd -M -d /g01/grid/app/11.2.0/grid/crf/db/dbhost01

2980 rt/3 root 0.00 B/s 15.09 K/s 0.00 % 0.00 % ologgerd -M -d /g01/grid/app/11.2.0/grid/crf/db/dbhost01

9. iftop(流量监控工具)

Linux系统常见命令

which:which [文件名] which mysql;

find:-name 按照文件名查找文件,

如:find /dir -name filename 在/dir目录及其子目录下面查找名字为filename的文件。

linux 中的查看进程命令;find . -name "*.c" 在当前目录及其子目录(用“.”表示)中查找任何扩展名为“c”的文件。

ps命令 是最常用的监控进程的命令,通过此命令可以查看系统中所有运行进程的详细信息。

基本操作: ps -le #查看系统中所有的进程,使用 Linux 标准命令格式 ;ps aux #查看系统中所有的进程,使用 BS 操作系统格式。

可选项

a: 显示一个终端的所有进程;

u: 显示进程的归属用户及内存的使用情况;

x: 显示没有控制终端的进程;

-l: 长格式显示更加详细的信息;

-e: 显示所有进程;

最常用的两种:"ps aux" 可以查看系统中所有的进程;"ps -le" 可以查看系统中所有的进程,而且还能看到进程的父进程的 PID 和进程优先级;"ps -l" 可以查看当前登录 产生了哪些进程

创建文件:

vi/vim filename : 创建新文件并且使用编辑器进入该文件进行编辑,与touch命令不同的是, 如果未编辑该文件就退出,那么该文件不会被保存(换句话说,新文件为空时不保存新建的文 件);

touch filename : 直接创建新的空文件,需要编辑器打开编辑;

echo "内容" hehe.txt : 它允许你在创建一个文件时就向其中输入一些文本;

查看文件:

cat 文件名 : 由第一行开始显示内容,并将所有内容输出;

more 文件名 : 根据窗口大小,一页一页的现实文件内容;

tail : 可以实时打印最新的日志信息;

ls 执行的功能:列出指定目录中的目录,以及文件;


当前名称:常用linux监控命令 linux常用性能监控命令
文章分享:http://cdkjz.cn/article/dosojoe.html
多年建站经验

多一份参考,总有益处

联系快上网,免费获得专属《策划方案》及报价

咨询相关问题或预约面谈,可以通过以下方式与我们联系

大客户专线   成都:13518219792   座机:028-86922220