ps p 22763  -L -o pcpu,pid,tid,time,tname,cmd,pmem,rss --sort rss  按rss排序

ps p 26653 -L -o pcpu,tid |sort -k1 -r -n|less 按第1列pcpu排序

找到上述进程中,CPU利用率比较高的线程号TID(十进制数),此处为3046

命令:

ps p 3036 -L -o pcpu,pid,tid,time,tname,cmd

将获取的线程号(十进制数)转换成十六进制,此处为0xb46

命令:

printf "%x\n"  3046

查看进程PID为3036中

nid为0xb46的线程信息。

命令:

jstack -l 3036

ps - 按进程消耗内存多少排序

ps -eo rss,pmem,pcpu,vsize,args | sort -k 1 -r -n | less

解析一下:
ps 都知道,是linux,unix显示进程信息的, -e 是显示所有进程, -o是定制显示信息的格式

rss: resident set size, 表示进程占用RAM(内存)的大小,单位是KB
pmem: %M, 占用内存的百分比

pcpu:%C,占用cpu的百分比
vsize: 表示进程占用的虚拟内存的大小,KB
args:进程名(command)

sort命令对ps结果进行排序
-k 1 :按第一个参数 rss进行排序
-r:逆序
-n:numeric,按数字来排序

ps是Linux下用来查看进程的各种信息的工具,通过ps命令我们可以非常清楚地掌握各个进程所使用的系统资源,及时发现那些资源消耗异常的进程。保障服务器系统的高可用性及稳定性。

系统环境:Debian GNU/Linux 7.7 (wheezy)
pathname:/bin/ps
package:procps

ps命令选项:

简单进程选择:

-A      选择所有进程
-e      选择所有进程,等同于-A

通过清单选择进程(PROCESS SELECTION BY LIST)

-C cmdlist
通过进程的可执行文件的名字来选择进程

输出格式控制:

-l —— 长格式,-y选项和这个一起用时很有用
-o —— 自定义输出格式,后接格式说明符,(格式说明符间用逗号隔开)
-y —— 不显示flags,显示rss来代替addr,这个选项只能和-l选项一起用

输出修改器(OUTPUT MODIFIERS):

--no-headers —— 不打印头部
--sort spec  —— 指定排序次序,默认是按spec(说明符)升序排列(+spec:按spec升序排列;-spec,按spec降序排列)

标准格式说明符:

代码 头部 描述
%mem %MEM 进程占用物理内存的百分比
args COMMAND 输出命令及其全部参数
cmd CMD alias args
comm COMMAND 仅输出可执行文件的名字
command COMMAND alias args
etime ELAPSED 输出进程的运行时间,时间格式如下:[[dd-]hh:]mm:ss(运行时间没有超过一天则不显示dd-,如果运行时间还不到一小时,则显示格式为mm:ss)
euser EUSER 输出进程的执行者的用户名(有时是显示执行者的uid)
lstart STARTED 输出进程启动时刻
pid PID 输出进程的进程号
psr PSR 进程当前被分配的处理器
pmem %MEM alias %mem
rss RSS 物理内存的使用大小(单位为KB)
rssize RSS alias rss
rsz RSZ alias rss
s S 最小状态显示(只显示一个字符)
stat STAT 多字符状态显示(显示更详细的进程状态信息)
state S alias s
uname USER alias euser
user USER alias euser

进程状态代码:
D     不可中断睡眠
R     正在运行或可运行(或者位于运行队列中)
S     可中断睡眠
T      已终止
X      已死(should never be seen)
Z      已故进程,已终止但还未被其父进程回收
<      高优先级(对其它用户不友好)
N      低优先级(对其它用户友好)
L       页面锁定在内存
s       含有子进程(is a session leader)
l        多线程
+       位于前台进程组中

root@godontop:~# ps -eo rss,pid,user,etime,lstart,stat,args --no-headers |sort -k 1 -nr
按第一个参数rss(物理内存)的使用情况从大到小排序

按RSS的大小升序排列
# ps -lyC php5-fpm --sort rss
S   UID   PID  PPID  C PRI  NI   RSS    SZ WCHAN  TTY        TIME CMD
S     0 18303     1  0  80   0   508 10460 -      ?      00:00:03 php5-fpm
S    33 22675 18303  1  80   0 39040 18523 -      ?      00:00:04 php5-fpm
S    33 22676 18303  0  80   0 42576 19404 -      ?      00:00:03 php5-fpm
S    33 22435 18303  0  80   0 47904 20698 -      ?      00:00:19 php5-fpm

备注:当-o选项与--no-headers一起使用时,--no-headers需放在格式说明符的后面

http://godontop.com/linux-ps-command-usage-69/

ps -eLo pid,tid,class,rtprio,ni,pri,psr,pcpu,pmem,stat,wchan:30,comm
-e 显示所有进程
-L 是现实线程信息
-o 表示使用用户定义格式打印信息

tid 表示线程id
pcpu 表示cpu使用率

pmem 参照%cpu
%cpu      %CPU   cpu utilization of the process in "##.#" format. Currently, it is the CPU time used divided by the time the process has been running (cputime/realtime ratio), expressed as a
 percentage. It will not add up to 100% unless you are lucky. (alias pcpu).
pmem 参照%mem
%mem      %MEM   ratio of the process's resident set size  to the physical memory on the machine, expressed as a percentage. (alias pmem).

wchan:30 WCHAN  name of the kernel function in which the process is sleeping, a "-" if the process is running, or a "*" if the process is multi-threaded and ps is not displaying threads.

程序状态字段解释:

D    Uninterruptible sleep (usually IO) 不可中断睡眠
       R    Running or runnable (on run queue) 正在执行或可执行,表示目前在运行队列里面
       S    Interruptible sleep (waiting for an event to complete) 可中断睡眠
       T    Stopped, either by a job control signal or because it is being traced.停止
       W    paging (not valid since the 2.6.xx kernel)
       X    dead (should never be seen)
       Z    Defunct ("zombie") process, terminated but not reaped by its parent.僵尸进程

For BSD formats and when the stat keyword is used, additional characters may be displayed:附加字段
       <    high-priority (not nice to other users) 高优先级
       N    low-priority (nice to other users) 低优先级
       L    has pages locked into memory (for real-time and custom IO)
       s    is a session leader
       l    is multi-threaded (using CLONE_THREAD, like NPTL pthreads do)
       +    is in the foreground process group

http://blog.chinaunix.net/uid-21706718-id-3341751.html

ps命令用法详解(转)的更多相关文章

  1. Ubuntu kill命令用法详解

    转自:Ubuntu kill命令用法详解 1. kill   作用:根据进程号杀死进程   用法: kill [信号代码] 进程ID   root@fcola:/# ps -ef | grep sen ...

  2. [转帖]强大的strace命令用法详解

    强大的strace命令用法详解 文章转自: https://www.linuxidc.com/Linux/2018-01/150654.htm strace是什么? 按照strace官网的描述, st ...

  3. systemctl命令用法详解

    systemctl命令用法详解系统环境:Fedora 16binpath:/bin/systemctlpackage:systemd-units systemctl enable httpd.serv ...

  4. install 命令用法详解

    install 命令用法详解 http://man.linuxde.net/install install命令的作用是安装或升级软件或备份数据,它的使用权限是所有用户.install命令和cp命令类似 ...

  5. Linux下find命令用法详解

    Linux下find命令用法详解   学神VIP烟火 学神IT教育:XueGod-IT   最负责任的线上直播教育平台   本文作者为VIP学员 烟火   第一部分:根据文件名查找   1.在当前目录 ...

  6. lsof 命令用法详解

    lsof 命令用法详解 作用 用于查看你进程开打的文件,打开文件的进程,进程打开的端口(TCP.UDP).找回/恢复删除的文件.是十分方便的系统监视工具,因为lsof命令需要访问核心内存和各种文件,所 ...

  7. Linux Shell脚本入门--wget 命令用法详解

    Linux Shell脚本入门--wget 命令用法详解 wget是在Linux下开发的开放源代码的软件,作者是Hrvoje Niksic,后来被移植到包括Windows在内的各个平台上.它有以下功能 ...

  8. (转)linux paste命令用法详解

    linux paste命令用法详解原文:http://www.xfcodes.com/linuxcmd/mulu/10211.htmlinux下paste命令,可用于合并文件的列. 功能说明:合并文件 ...

  9. CentOS 7.X 中systemctl命令用法详解

    systemctl是RHEL 7 的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体.可以使用它永久性或只在当前会话中启用/禁用服务,下面来看CentOS 7.X 中 ...

随机推荐

  1. C#使用Redis集群缓存

    C#使用Redis集群缓存 本文介绍系统缓存组件,采用NOSQL之Redis作为系统缓存层. 一.背景 系统考虑到高并发的使用场景.对于并发提交场景,通过上一章节介绍的RabbitMQ组件解决.对于系 ...

  2. [Backbone]Make Backbone Better With Extensions

    Backbone is becoming wildly popular as a web application development framework. Along with this popu ...

  3. LaTeX中表格多行显示的最简单设置方法

    这事实上是一个非常easy的问题,可是这两天发现我之前的解决方式太麻烦了.简介一下这样的最简单的方法: 之前设置多行显示的时候,用类似于以下这样的方法进行多行显示: \begin{table} \ne ...

  4. 【足迹C++primer】30、概要(泛型算法)

    概要(泛型算法) 大多数算法的头文件中定义algorithm在. 标准库也是第一个文件numeric它定义了一套通用算法. #include<iostream> #include<n ...

  5. AE+SceneControl源代码共享

    近来的,博友发私信或邮件交换,第一次使用前SceneControl代做一点project股票,做的很粗糙.我们希望对大家有帮助,欢迎留言交流哈萨克斯坦. 除了主开.保存.数据加载.询价,几个功能主要是 ...

  6. JSP内置对象之request

    书接上回,上次跟大家概括的说了说JSP的九种常用内置对象.接下来就该聊聊它们各自的特点了,今天先说说request吧. 下面是request的一些常用方法: isUserInRole(String r ...

  7. WPF界面设计技巧(7)—模拟电梯升降的缓动动画

    原文:WPF界面设计技巧(7)-模拟电梯升降的缓动动画 如同Flash一样,WPF的亮点之一也在于其擅于表现平滑的动画效果,但以移动动画来说,仅凭简单的起始位置.目标位置,所产生的动画仍会非常生硬,这 ...

  8. atitit查询表改动表字段没反应--解锁锁定的表

    atitit查询表改动表字段没反应--解锁锁定的表 查询表改动表字段没反应 要是使用gui 没反应,最好使用cmd 方式,不卉不个gui 锁上.. ALTER TABLE t_mb_awardweix ...

  9. uva 11722 - Joining with Friend(概率)

    题目连接:uva 11722 - Joining with Friend 题目大意:你和朋友乘火车,而且都会路过A市.给定两人可能到达A市的时段,火车会停w.问说两人能够见面的概率. 解题思路:y = ...

  10. PHP草根论之设计模式-訪问者模式

    关于模式本身的概念,请參考网上其他文章 此处仅仅讨论在PHP实际开发过程中的应用 此模式适用范围极为受限,适用情景: 1.适用于项目维护过程,不适用于项目开发过程 2.新增需求,要求为一个/多个类添加 ...