zoukankan      html  css  js  c++  java
  • Linux下查看哪些进程占用的CPU、内存资源

     ps –ef|grep tomcat 查看所有有关tomcat的进程

    kill -9 19979 终止线程号位19979的进程
    pkill -9 java 批量终止java进程
     查看进程占用:lsof -i:9999
     根据进程ID查看进程详细信息:ps axu|grep pid

    查看端口8080的使用情况:netstat -tln | grep 8080

    查到进程ID之后,使用netstat命令查看其占用的端口:netstat -aux | grep 进程ID


    ————————————————

    1.CPU占用最多的前10个进程: 
    ps auxw|head -1;ps auxw|sort -rn -k3|head -10 
    2.内存消耗最多的前10个进程 
    ps auxw|head -1;ps auxw|sort -rn -k4|head -10 
    3.虚拟内存使用最多的前10个进程 

    ps auxw|head -1;ps auxw|sort -rn -k5|head -10

    4.也可以试试

    ps auxw --sort=rss
    ps auxw --sort=%cpu

    5.看看几个参数含义

    %MEM 进程的内存占用率
    MAJFL is the major page fault count, 
    VSZ 进程所使用的虚存的大小
    RSS 进程使用的驻留集大小或者是实际内存的大小(RSS is the "resident set size" meaning physical memory used)
    TTY 与进程关联的终端(tty)

        串行端口终端(/dev/ttySn)
        伪终端(/dev/pty/) 
        控制终端(/dev/tty) 
        控制台终端(/dev/ttyn,   /dev/console) 
        虚拟终端(/dev/pts/n) 


    STAT 检查的状态:进程状态使用字符表示的,如R(running正在运行或准备运行)、S(sleeping睡眠)、I(idle空闲)、Z (僵死)、D(不可中断的睡眠,通常是I/O)、P(等待交换页)、W(换出,表示当前页面不在内存)、N(低优先级任务)T(terminate终止)、W has no resident pages

     

        D    不可中断     Uninterruptible sleep (usually IO) 
        R    正在运行,或在队列中的进程 
        S    处于休眠状态 
        T    停止或被追踪 
        Z    僵尸进程 
        W    进入内存交换(从内核2.6开始无效) 
        X    死掉的进程 

        <    高优先级 
        N    低优先级 
        L    有些页被锁进内存 
        s    包含子进程 
        +    位于后台的进程组; 
        l    多线程,克隆线程  multi-threaded (using CLONE_THREAD, like NPTL pthreads do) 

     

    linux部署业务的时候有时候会出现CPU或者内存很高的现象,需要查看哪些进程占用的高,参数以下命令:

    linux下获取占用CPU资源最多的10个进程,可以使用如下命令组合:

    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    linux下获取占用内存资源最多的10个进程,可以使用如下命令组合:
    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head

    命令组合解析(针对CPU的,MEN也同样道理):
    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    该命令组合实际上是下面两句命令:
    ps aux|head -1
    ps aux|grep -v PID|sort -rn -k +3|head

    查看占用cpu最高的进程

    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +3|head

    或者top (然后按下M,注意这里是大写)

     

    查看占用内存最高的进程
    ps aux|head -1;ps aux|grep -v PID|sort -rn -k +4|head
    或者top (然后按下P,注意这里是大写)
    该命令组合实际上是下面两句命令:
    ps aux|head -1
    ps aux|grep -v PID|sort -rn -k +3|head

    其中第一句主要是为了获取标题(USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND)。
    接下来的grep -v PID是将ps aux命令得到的标题去掉,即grep不包含PID这三个字母组合的行,再将其中结果使用sort排序。
    sort -rn -k +3该命令中的-rn的r表示是结果倒序排列,n为以数值大小排序,而-k +3则是针对第3列的内容进行排序,再使用head命令获取默认前10行数据。(其中的|表示管道操作)

    补充:内容解释
    PID:进程的ID
    USER:进程所有者
    PR:进程的优先级别,越小越优先被执行
    NInice:值
    VIRT:进程占用的虚拟内存
    RES:进程占用的物理内存
    SHR:进程使用的共享内存
    S:进程的状态。S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值为负数
    %CPU:进程占用CPU的使用率
    %MEM:进程使用的物理内存和总内存的百分比
    TIME+:该进程启动后占用的总的CPU时间,即占用CPU使用时间的累加值。
    COMMAND:进程启动命令名称

    可以使用以下命令查使用内存最多的K个进程

    方法1:
    ps -aux | sort -k4nr | head -K
    如果是10个进程,K=10,如果是最高的三个,K=3
    说明:ps -aux中(a指代all——所有的进程,u指代userid——执行该进程的用户id,x指代显示所有程序,不以终端机来区分)

    ps -aux的输出格式如下:
    USER       PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
    root         1  0.0  0.0  19352  1308 ?        Ss   Jul29   0:00 /sbin/init
    root         2  0.0  0.0      0     0 ?        S    Jul29   0:00 [kthreadd]
    root         3  0.0  0.0      0     0 ?        S    Jul29   0:11 [migration/0]

    sort -k4nr中(k代表从第几个位置开始,后面的数字4即是其开始位置,结束位置如果没有,则默认到最后;n指代numberic sort,根据其数值排序;r指代reverse,这里是指反向比较结果,输出时默认从小到大,反向后从大到小。)。本例中,可以看到%MEM在第4个位置,根据%MEM的数值进行由大到小的排序。
    head -K(K指代行数,即输出前几位的结果)
    |为管道符号,将查询出的结果导到下面的命令中进行下一步的操作。

    方法2:top (然后按下M,注意大写)

    二、可以使用下面命令查使用CPU最多的K个进程
    方法1:
    ps -aux | sort -k3nr | head -K

    方法2:top (然后按下P,注意大写) 

  • 相关阅读:
    SQL Server 阻止了对组件 'Ole Automation Procedures' 的 过程'sys.sp_OACreate' 的访问
    谷歌浏览器扩展程序manifest.json参数详解
    获取天气api
    UVA 10385 Duathlon
    UVA 10668 Expanding Rods
    UVALIVE 3891 The Teacher's Side of Math
    UVA 11149 Power of Matrix
    UVA 10655 Contemplation! Algebra
    UVA 11210 Chinese Mahjong
    UVA 11384 Help is needed for Dexter
  • 原文地址:https://www.cnblogs.com/wsy0202/p/11847450.html
Copyright © 2011-2022 走看看