htop/dstat/top/ps,vmstat

ps命令

1、ps简介

ps命令是一个查看进程的命令,使用该功能可以确定有那些正在运行的状态、进程是否结束、进程有没有僵死、哪些进程占用了过多的资源等等。

2、ps及命令参数

ps选项有三种风格:

(1) UNIX 风格:选项前必须带有-连字符;如:-e

(2) BSD 风格  :选项前不使用-连字符 如:aux

(3) GNU 风格 : 选项必须使用长格式显示

ps [选项]

a:所有与终端相关的进程;

x:所有与终端无关的进程;

u:以用户为中心组织进程状态信息显示;

-e:显示所有进程

-f:显示完整格式的进程信息

-F:显示完整格式的进程信息;

-H:以层级结构显示进程的相关信息

-o FILED1,FILED2,...:自定义要显示的字段列表,以组合出现时记得写在后面

常用组合:ps aux:显示所有进程状态信息显示

ps -ef:显示所有进程以完整格式显示

ps -eFH:以层级显示所有完整信息

ps -eo,axo:

示例:ps aux

USER:用户

PID:用户pid

%CPU:cpu的使用率

%MEM:占用的内存使用率

VSZ:占用的虚拟内存大小

RSS:占用的内存大小

TTY:是否与终端相关

STAT:进程状态

进程状态:

R:运行中

S:可中断睡眠

D:不可中断睡眠

T:停止中

Z:僵尸进程

+:前台进程

l:多线程进程

N:低优先级进程

<:高优先级进程

s:session leader

START:启动进程的时间

TIME:进程消耗cpu的时间

COMMAND:命令的名称和参数

示例:ps -ef

C:cpu的占用百分比

UID:用户

PPID:父进程ID

STIME:启动时间

TTY:显示是否与终端相关

TIME:累计运行时间

CMD:启动此进程的命令

示例:ps -eFH

PSR:在那颗cpu上运行

示例:ps -eo FILED1,FILED2,...

常用的field:pid, ni, priority, psr, pcpu, stat, comm, tty, ppid, rtprio

ni:nice值;

priority:priority, 优先级;

rtprio:real time priority,实时优先级;

top命令:

top命令可以实时动态地查看系统的整体运行情况,通过top命令所提供的交互式界面,用热键可以修改。

语法格式:

top [选项]

交互式命令:

P:以占据cpu百分比排序

M:以占据内存百分比排序

T:累计占用cpu时间排序

l:uptime信息

t:tasks及cpu信息

m:内存信息

h:显示帮助画面

k:终止一个进程

r:重新安排一个进程的优先级别

q:退出程序

i:忽略闲置和僵死进程,这是一个开关式命令

s:改变刷新时间间隔

t:显示进程和cpu状态信息

c:显示命令名称和完整命令行

M:根据常驻内存大小进行排序

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

W:将当前设置写入~/.toprc文件中

选项:

-d # :指定刷新时间间隔,默认为3秒

-b :以批处理方式显示

-n #:显示多少批次

-c :显示完整的命令

-u 用户名:指定用户名

-p 进程号:指定进程

实例:top命令

解释:

top - 16:35:39【当前系统时间】

12 min【系统已经运行了12分钟】

1 user【当前共有1个用户登录】

load average:0.00, 0.02, 0.00【过去1分钟、5分钟、15分钟的平均负载,等待运行进程是长度】

Tasks: 96 total【总进程数】

1 running【正在运行的进程数】

95 sleeping【睡眠的进程数】

0 stopped【停止的进程数】

0 zombie【冻结进程数】

Cpu(s):0.0%us【用户空间占用cpu百分比】

0.3%sy【内核空间占用cpu百分比】

0.0%ni【用户进程空间内改变过优先级的进程占用cpu百分比】

99.3%id【空闲cpu百分比】

0.3%wa【等待输入的cpu时间百分比】

0.0 hi【处理硬件中断所占据的百分比】

0.0 si【处理软件中断所占据的百分比】

0.0 st【被虚拟化偷走的百分比】

Mem: 1004768k total【物理内存总量】

203204k used【使用的内存总量】

801564k free【空闲内存总量】

23624k buffers【用作内核缓存的内存量】

Swap: 2097148k total【交换区总量】

0k used【使用的交换区总量】

2097148k free【空闲交换区总量】

98900k cached【缓冲的交换区总量】

PID:进程pid

USER:用户名

PR:优先级

NI:nice值

VIRT:虚拟内存集

RES:常驻内存集

SHR:共享内存空间

S:进程状态

%CPU:占据cpu百分比

%MEM:内存百分比

TIME+:运行时间

COMMAND:启动命令

htop命令

htop命令比top更为强大的进程查看工具

1) 快速查看关键性能统计数据,如CPU(多核布局)、内存/交换使用;
     2) 可以横向或纵向滚动浏览进程列表,以查看所有的进程和完整的命令行;
     3) 杀掉进程时可以直接选择而不需要输入进程号;
      4) 通过鼠标操作条目;
      5) 比top启动得更快;

htop命令交互式常用功能键

F1 : 查看htop使用说明

F2 : 设置

F3 : 搜索进程

F4 : 过滤器,按关键字搜索

F5 : 显示树形结构

F6 : 选择排序方式

F7 : 减少nice值,这样就可以提高对应进程的优先级

F8 : 增加nice值,这样可以降低对应进程的优先级

F9 : 杀掉标记中的进程

F10 : 退出htop

/ : 搜索字符

l :显示进程打开的文件: 如果安装了lsof,按此键可以显示进程所打开的文件

u :显示所有用户,并可以选择某一特定用户的进程

s : 将调用strace追踪进程的系统调用

t : 显示树形结构

H :显示/隐藏用户线程

I :倒转排序顺序

K :显示/隐藏内核线程

M :按内存占用排序

P :按CPU排序

T :按运行时间排序

a:绑定指定进程以那个cpu运行 (一个cpu不会显示)

上下键或PgUP, PgDn : 移动选中进程左右键或Home, End : 移动列表

Space(空格) : 标记/取消标记一个进程。

命令可以作用于多个进程,例如 "kill",将应用于所有已标记的进程

htop命令选项:

-p PID:显示指定的pid进程

-C :不以颜色显示界面

-s NAME :排序指定的类型

-u 选项 : 显示指定的用户的进程信息列表。例如,htop -u himanshu 命令会只显示出用户名为 himanshu 的相关进程。

-d 选项 : 设置刷新的延迟时间。例如,htop -d 10命令会使输出在1秒后才会刷新(参数 -d 的单位是100毫秒秒)

htop示例:

(1):f1查看htop的使用说明

(2):f2设置htop属性

(3):显示pid1的进程

命令:htop -p 1

输出:

(4):不以颜色显示界面

命令:htop -C

输出:

(5):显示指定用户的进程

命令:htop -u root

输出:

(6):设置刷新的延迟时间(默认是100毫秒)

命令:htop -d 100   :以一秒刷新一次

输出:

(7)以PID大小排序

命令:htop -s PID

输出:

vmstat命令:

vmstat介绍:

vmstat命令显示虚拟内存的数据,但它可以显示进程、内存、io等系统整体运行状态。

选项:

-S [k|m]:以kib或mib为单位显示信息

-m:显示slab信息

-s:以表格方式显示事件计数器和内存状态

-d :报告磁盘状态

-p:显示指定的硬盘分区状态

参数:

事件间隔:状态信息刷新的时间间隔

次数:显示的次数

实例:1、两秒刷新一次

命令:vmstat 2

输出:

注释:

procs(进程)

r:等待运行的进程的个数;CPU上等待运行的任务的队列长度

b:处于不可中断睡眠态的进程个数;被阻塞的任务队列的长度

Memory(内存)

swpd:使用虚拟内存大小,如果swpd的值不为0,但是SImso的值长期为0,,这种情况不会影响系统性能。

free:空闲物理内存大小

buff:用作缓冲的内存大小

cache:用作缓存的内存大小,如果cache的值大的时候,说明cache处的文件数多,如果频繁访问到的文件都能被cache出,那么磁盘的读IO bi会非常小。

swap

si:数据进入swap中的数据速率(kb/s)

so:数据离开swap的速率(kb/s)

注意:内存够用的时候,这2个值都是0,如果这2个值长期大于0时,系统性能会受到影响,磁盘IO和cpu都会被消耗。有些朋友看到空闲内存(free)很少的或接近于0时,就认为内存不够用了不能光看这一点,还要结合si和so,如果free很少,但是si和so也很少(大多时候是0),那么不用担心,系统性能这时不会受到影响的。

IO(现在linux版本块的大小)

bi:从块设备读入数据到系统的速度(kb/s)

bo:保存数据至块设备的速率(kb/s)

注意:随机磁盘读写的时候,这2个值越大(如超过1024K),能看到cpu在IO等待的值也会越大

system(系统)

in:每秒中断数,包括时钟中断

cs:每秒上下文切换数

注意:上面2个值越大,会看到由内核消耗的cpu时间会越大

cpu(以百分比表示)

us:用户进程执行时间百分比(user time)

us的值比较高时,说明用户进程消耗的cpu时间多,但是如果长期超过50%的使用,那么我们就该考虑优化程序算法或者进行加速。

wa:IO等待时间百分比

wa的值高时,说明IO等待比较严重,这可能由于磁盘大量作随机访问造成,也有可能磁盘出现瓶颈。

id:空闲时间百分比

st:被虚拟内存偷走的时间百分比

2、以mib显示

命令: vmstat -S m

输出

3、以表格方式显示事件计数器和内存状态

命令:vmstat -s

输出:

4、显示sda1分区状态

命令:vmstat -p /dev/sda1

输出:

dstat命令

dstat介绍:

dstat命令是一个非常精巧的使用工具,它是一个全能的系统信息统计工具。

界面介绍:

下面默认显示-cdngy

解释:

usr:用户进程数

sys:系统进程数

idl:空闲进程数

wai:等待IO

hiq:硬件中断

siq:软件中断

read:硬盘读性能

writ:硬盘写性能

recv:网络的接受

send:网络的发送

in:页面的换入

out:页面的换出

int:系统中断次数

csw:上下文切换

选项:

-c:显示CPU系统占用,用户占用,空闲,等待,中断,软件中断等信息。

-C:当有多个CPU时候,此参数可按需分别显示cpu状态,例:-C 0,1 是显示cpu0和cpu1的信息。

-d:显示磁盘的相关信息

-D:sda,sdb,...,total

-g:使用页面的使用情况

-i:显示中断

-l:显示平均负载

-m:显示内存

-n:显示网络相关的统计数据

-N:eth1,total:有多块网卡时,指定要显示的网卡

-p:统计进程数据,包括运行队列,不可中断睡眠,新创建进程的速率

-r:启用IO请求数据,包括io的读、写相关请求

-s:统计swap的数据,已用的,空闲的

-t:输出当前时间

-y:系统状态。 --ipc:显示ipc消息队列,信号等信息

--socket:用来显示tcp udp端口状态

--fs:显示系统状态

--aio:统计异步io的数据

--ipc:进程间通信

--raw:裸套接字的相关数据

--tcp:tcp连接(listen,established,syn,time_wait,close)等状态

--udp:

--top-bio:最消耗磁盘io的进程

--top-cpu:显示最占用CPU的进程;

--top-io:最占用io的进程;

--top-mem:最占用内存的进程;

--top-lantency:延迟最大的进程

--output 文件:此选项也比较有用,可以把状态信息以csv的格式重定向到指定的文件中,以便日后查看。例:dstat --output /root/dstat.csv & 此时让程序默默的在后台运行并把结果输出到/root/dstat.csv文件

示例:

监控swap,process,sockets,filesystem并显示监控的时间

命令:dstat -tsp --socket --fs

输出:

将结果输出到文件中 加--output file

输出:

时间: 2024-10-14 18:49:24

htop/dstat/top/ps,vmstat的相关文章

htop/dstat/top/ps命令的使用(一堆图片,累死我了)

要对进程进行监测和控 制,首先必须要了解当前进程的情况,也就是需要查看当前进程,而ps 命令就是最基本同时也是非常强大的进程查看命令.使用该命令可以确定有哪些进程正在运行和运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等.总之大部分信息都是可以通过执行该命令得到的. ps为我们提供了进程的一次性的查看,它所提供的查看结果并不动态连续的;如果想对进程时间监控,应该用 top 工具. PS命令使用: 1.ps命令:进程状态查看命令 /proc/:内核中的状态信息: (1).内核

htop/dstat/top/ps命令的使用

一.概述 htop.top.dstat.ps是Linux系统上的进程的查看及管理的工具:可以帮助我们快速的去查找和定位问题,并可以对当前系统的运行状况及使情况进行实时打印: 二.进程 在系统启动后全产生许多进程,进程就是运行中的程序的一个副本,进程是有生命周期的,一般会随着自身所在bash的关闭而关闭,所有进程都是在系统启动后由/sbin/init来创建的,而进程之间存在父子关系,所有的子进程都是由其父进程创建的: 进程与进程间存在优先级:1-139 1-99:实时优先级 100-139:静态优

进程查看及命令使用-htop/dstat/top/ps命令

进程是linux用来表示正在运行的程序的一种抽象概念,程序内存的使用,处理器时间和I/O资源就是通过这个对象进行管理和监视的. 一个程序要先运行在用户空间,当他需要去使用硬件资源的时候,就不得不去调动内核才能取得使用权,这时候调动内核,进入内核空间,当内核处理完毕需求之后,将指令返回给用户,一个调用完成. 进程会以时间片段在CPU运行的,CPU以一根时间线被划分成无数个片段:当一个进程运行到某个阶段,需要暂时终止的时候,需要保存一个进程运行的现场,叫保存现场:执行到某片段的时候,需要中断,当再需

linux 系统上的进程查看管理工具之htop/dstat/top/ps命令详解

     进程查看管理工具之ps/top/dstat/htop命令详解 一.ps命令详解: ps 加选项参数 ps a 显示与终端相关的内容信息,例如: [[email protected] cx]# ps a PID TTY      STAT   TIME COMMAND 2396 tty3     Ss+    0:00 /sbin/mingetty /dev/tty3 2399 tty4     Ss+    0:00 /sbin/mingetty /dev/tty4 2401 tty5

linux进程及作业管理的四大长老-htop/ dstat /top/ ps

   一.进程简介     进程是linux用来表示正在运行的程序的一种抽象概念,程序内存的使用,处理器时间和I/O资源就是通过这个对象进行管理和监视的. 一个程序要先运行在用户空间,当他需要去使用硬件资源的时候,就不得不去调动内核才能取得使用权,这时候调动内核,进入内核空间,当内核处理完毕需求之后,将指令返回给用户,一个调用完成. 进程会以时间片段在CPU运行的,CPU以一根时间线被划分成无数个片段:当一个进程运行到某个阶段,需要暂时终止的时候,需要保存一个进程运行的现场,叫保存现场:执行到某

CentOS系统资源监控软件四大软件htop,top,ps,dstat

CentOS系统资源监控软件四大软件 一.进程信息 关于进程的基础知识,用图来显示 二.ps命令 ps -报告系统进程运行时状态. ps [选项]: 选项有三种风格:风格不一样写法不一样,有的加-,有的不加,比较特殊. UNIX 风格选项, 可以组团选择,但必须以"-"开头 BSD 风格选项, 可以组团选择,但不能以"-"开头 GNU 风格选项, 必须以两个"-"开头 选项1:BSD风格选项 a:所有与终端相关的进程: x:所有与终端无关的进程:

htop/dstat/ps命令的使用

top概述: top是所有类unix系统的必备工具,能直观方便的查看到系统负载.内存及进程等信息.而htop具有top工具的全部功能且还新增了一些额外的功能和使用体验改进.与top相比,其具有如下优势: 与top只提供最消耗资源的进程列表不同,htop提供所有进程的列表,并且使用彩色标识出处理器.swap和内存状态. 可以在查找应用程序内存泄漏问题时使用: 提供更方便.光标控制的界面来杀死进程: 可以横向或纵向滚动浏览进程列表,以便看到所有的进程和完整的命令行: 启动比top快. htop软件的

top(topas),vmstat,iostat在linux和AIX操作系统下显示情况

top(topas),vmstat,iostat在linux和AIX操作系统下显示情况 分类: Linux基础 2013-08-09 17:26 1093人阅读 评论(0) 收藏 举报 详细列出各命令常用参数,在自己的虚拟机上实验,要求把每行没列的信息解释清楚,还有不同操作系统平台下命令的不同之处.比如linux和AIX下top命令输出的不同等. Top (linux系统下) top命令是Linux下常用的性能分析工具,能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器.

Linux下的经常使用性能查询命令top、vmstat、gprof、pidstat之对照

(1)查看各个CPU核的使用情况 sudo top -d 1 进入之后,按1,会出现以下的CPU使用情况,当中us列反映了各个CPU核的使用情况,百分比大说明该核在进行紧张的任务. (2)查看哪个进程在哪个CPU核上执行 sudo top -d 1 进入之后,依次按f.j和空格,会出现例如以下(当中P列指示的是该进程近期使用的CPU核,如进程mencoder的P列为7,则表示mencoder近期在核7上执行,对于多线程甚至单线程的进程,在不同一时候刻会使用不同的CPU Core): (3)vms