本文介绍下,在linux中查看系统资源占用的三个命令:top、free、uptime,通过实例学习下它们的用法,有需要的朋友参考下

一,top命令

1.作用
top命令用来显示执行中的程序进程,使用权限是所有用户。

2.格式
top [-] [d delay] [q] [c] [S] [s] [i] [n]

3.主要参数
d:指定更新的间隔,以秒计算。
q:没有任何延迟的更新。如果使用者有超级用户,则top命令将会以最高的优先序执行。
c:显示进程完整的路径与名称。
S:累积模式,会将己完成或消失的子行程的CPU时间累积起来。
s:安全模式。
i:不显示任何闲置(Idle)或无用(Zombie)的行程。
n:显示更新的次数,完成后将会退出top。

系统整体当下的统计信息

top命令显示的前五行是系统整体的统计信息。

第一行是任务队列信息,同uptime命令的执行结果。eg.

top  -  15:09:51  up  17  days  ,  3:38  ,  4  users  ,  load  average  :  1.09  ,  3.39  ,  4.76

15:09:51  当前时间
up 17 days , 3:38  系统运行时间,格式为时:分
4  users  当前登录用户数
load average : 1.09 , 3.39 , 4.76  系统负载,即任务队列的平均长度。
三个数值分别为1分钟、5分钟、15分钟前到现在的平均值。

第二、三行为进程和CPU的信息。当有多个CPU时,这些内容可能会超过两行。eg.

Tasks  :  115  total  ,  1  running  ,  114  sleeping  ,  0stopped  ,  0zombie
Cpu(s)  :  16.1%  us  ,  2.0%  sy  ,  0.0%  ni  ,  79.5%  id  ,  1.4%  wa  ,  0.0%  hi  ,  1.0%  si

Tasks : 115 total  进程总数
1 running  正在运行进程
114  sleeping  睡眠进程
0  stopped  停止进程
0  zombie  僵尸进程数
Cpu(s) : 16.1%  us  用户空间占用CPU百分比
2.0%  sy  内核空间占用CPU百分比
0.0%  ni  用户进程空间内改变过优先级的进程占用CPU百分比
79.5%  id  空闲CPU百分比
1.4%  wa  等待输入输出的CPU时间百分比
0.0%  hi
0.0%  si

最后两行为内存信息。eg.

Mem  :  8169876  k  total  ,  7686472  k  used  ,  483404  k  free  ,  35272  k  buffers
Swap  :  4096532  k  total  ,  160  k  used  ,  4096372  k  free  ,  2477532  k  cached

Mem : 8169876 ktotal  物理内存总量
7686472 k used  使用的物理内存总量
483404 k free  空闲内存总量
35272 k buffers  用作内核缓存的内存量
Swap : 4096532 k total  交换分区总量
160 k used  使用的交换区总量
4096372 k free  空闲交换区总量
2477532 k cached   缓冲的交换区总量。

内存中的内容被换出到交换区,而后又被换入到内存,但使用过的交换区尚未被覆盖,该数值即为这些内容已存在于内存中的交换区的大小。相应的内存再次被换出时可不必再对交换区写入。

进程信息

统计信息区域的下方显示了各个进程的详细信息。首先来认识一下各列的含义。

PID    USER    PR    NI    VIRT    RES    SHR    S    %CPU    %MEM    TIME+    COMMAND

序号列名含义
PID    进程id
PPID    父进程id
RUSER    Realusername
UID    进程所有者的用户id
USER    进程所有者的用户名
GROUP    进程所有者的组名
TTY    启动进程的终端名。不是从终端启动的进程则显示为?
PR    优先级
NInice     值。负值表示高优先级,正值表示低优先级
P    最后使用的CPU,仅在多CPU环境下有意义
%CPU    上次更新到现在的CPU时间占用百分比
TIME    进程使用的CPU时间总计,单位秒
TIME+    进程使用的CPU时间总计,单位1/100秒
%MEM    进程使用的物理内存百分比
VIRT    进程使用的虚拟内存总量,单位kb。VIRT=SWAP+RES
SWAP    进程使用的虚拟内存中,被换出的大小,单位kb。
RES    进程使用的、未被换出的物理内存大小,单位kb。RES=CODE+DATA
CODE    可执行代码占用的物理内存大小,单位kb
DATA    可执行代码以外的部分(数据段+栈)占用的物理内存大小,单位kb
SHR    共享内存大小,单位kb
nFLT    页面错误次数
nDRT    最后一次写入到现在,被修改过的页面数。

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

COMMAND    命令名/命令行
WCHAN    若该进程在睡眠,则显示睡眠中的系统函数名
Flags    任务标志,参考sched.h

按指定列来排序

top里可以设置按照某一项来排序,默认的情况下,是按照CPU的使用情况来排序,

M,(注意大写),按内存使用情况排序

P , 根据CPU使用百分比大小进行排序

T,  根据时间/累计时间进行排序。

如何结束进程

输入字母k(小写),然后再输入想要kill的PID

当然你也可直接运行命令,kill PID

可以看到,top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要。但是,它的缺点是会消耗很多系统资源。

二、free命令

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

2.格式
free [-b-k-m] [-o] [-s delay] [-t] [-V]

3.主要参数
-b -k -m:分别以字节(KB、MB)为单位显示内存使用情况。
-s delay:显示每隔多少秒数来显示一次内存使用情况。
-t:显示内存总和列。
-o:不显示缓冲区调节列。

4.应用实例
free命令是用来查看内存使用情况的主要命令。和top命令相比,它的优点是使用简单,并且只占用很少的系统资源。通过-S参数可以使用free命令不间断地监视有多少内存在使用,这样可以把它当作一个方便实时监控器。
#free -b -s5

使用这个命令后终端会连续不断地报告内存使用情况(以字节为单位),每5秒更新一次。

三、uptime 命令
在linux系统中,有一种说法,当load avarage <3 系统良好,大于5 则有严重的性能问题。注意,这个值还应当除以CPU数目。

如果load avarage=8 ,CPU=3,8/3=2.666,2.66这个值表示系统状态良好
大于5也不一定是严重性能问题,有可能是的确主机提供的服务超过了他能够提供的能力,需要扩容了。要具体看看。

另外,在linux下查看系统资源的占用情况,还有二个命令,它们分别是:vmstat 与 iostat 。有兴趣的朋友,也可以研究下。

查看Linux下系统资源占用常用命令(top、free、uptime)的更多相关文章

  1. 查看Linux下系统资源占用常用命令

    一 top命令 1.作用top命令用来显示执行中的程序进程,使用权限是所有用户. 2.格式top [-] [d delay] [q] [c] [S] [s] [i] [n] 3.主要参数d:指定更新的 ...

  2. 查看Linux下端口占用情况的命令

    在使用Linux系统的过程中,有时候会遇到端口被占用而导致服务无法启动的情况.比如HTTP使用80端口,但当启动Apache时,却发现此端口正在使用. 这种情况大多数是由于软件冲突.或者默认端口设置不 ...

  3. Linux下Vim工具常用命令

    原文地址: http://www.cnblogs.com/lizhenghn/p/3675011.html 在linux下做开发,甚至是只做管理维护工作,也少不了Vim的使用.作为一个新手,我也是刚刚 ...

  4. Linux下C++开发常用命令

    本页面记录本人在Linux下进行C++开发时使用的常用命令,注意这里不包括比如ls,mv等linux命令,这里会持续更新.首先假设你只有一个源程序文件,叫vec.cpp,编译后的可执行程序叫vec(本 ...

  5. svn 在linux 下的一些常用命令

    最近在Linux系统下玩一些svn的东西,感觉脑袋很乱, 于是整理了一下一些初学者必须弄明白的基本命令: 1. svn --version: 查看Linux系统下的svn client版本. Clie ...

  6. Linux下的一些常用命令(一)

    在Linux环境下敲各种命令是再正常不过了,尤其是现在大多少服务器均为Linux系统,但是我又记不住这么多命令,只是偶尔在项目做完发布到服务器上的时候会涉及到,所以在网上找了一些命令,在此记录一下~ ...

  7. Linux下一些简单常用命令的总结

    Cent os常用命令 查看当前目录信息: l s a:显示所有包括隐藏文件 l :列表显示数据 h:显示数据大小 查看命令帮助: XXX --help[比如:l shel p] 清除控制台信息: c ...

  8. 总结Linux 下Redis 操作常用命令(转)

    Redis的配置 Linux下安装 ]# wget http://download.redis.io/releases/redis-2.8.17.tar.gz ]# tar xzf redis-2.8 ...

  9. Linux下安装maven-及常用命令

        Linux下安装maven1.首先到Maven官网下载安装文件,目前最新版本为3.0.3,下载文件为apache-maven-3.0.3-bin.tar.gz,下载可以使用wget命令: 2. ...

随机推荐

  1. Group Anagrams 群组错位词

    Given an array of strings, group anagrams together. For example, given: ["eat", "tea& ...

  2. Spring ioc 详解

    引述:IoC(控制反转:Inverse of Control)是Spring容器的内核,AOP.声明式事务等功能在此基础上开花结果.但是IoC这个重要的概念却比较晦涩隐讳,不容易让人望文生义,这不能不 ...

  3. Java多线程 阻塞队列和并发集合

    转载:大关的博客 Java多线程 阻塞队列和并发集合 本章主要探讨在多线程程序中与集合相关的内容.在多线程程序中,如果使用普通集合往往会造成数据错误,甚至造成程序崩溃.Java为多线程专门提供了特有的 ...

  4. ScrollView的顶部下拉和底部上拉回弹效果

    要实现ScrollView的回弹效果,需要对其进行触摸事件处理.先来看一下简单的效果: 根据Android的View事件分发处理机制,下面对dispatchTouchEvent进行详细分析: 在加载布 ...

  5. Java编程语言下Selenium 鼠标悬停以及右击操作

    // 基于Actions类创建一个对象 Actions action = new Actions(driver); // 鼠标悬停在药渡公司全称字段上 action.moveToElement(Yao ...

  6. Mysql安装和登录相关操作

    一.mysql的下载和安装 1.下载链接地址 http://dev.mysql.com/downloads/mysql/ 安装如下操作进行下载. 2.mysql数据库安装(Windows环境) 1.解 ...

  7. SQL Server复制表结构和表数据生成新表的语句

    参考:http://topic.csdn.net/t/20020621/09/820025.html SELECT   *   INTO   newTableName   FROM   oldTabl ...

  8. nginx防盗链

    盗链是指一个网站的资源(图片或附件)未经允许在其它网站提供浏览和下载.尤其热门资源的盗链,对网站带宽的消耗非常大,本文通过nginx的配置指令location来实现简单的图片和其它类型文件的防盗链. ...

  9. windows下注册表的操作

    原博:https://blog.csdn.net/denghubu/article/details/5765921 1.       注册表简介 注册表是为Windows NT和Windows95中所 ...

  10. php使用http_build_query,parse_url,parse_str创建与解析url详解

    1.http_build_query string http_build_query ( mixed $query_data [, string $numeric_prefix [, string $ ...