您的位置:首页 > 运维架构

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

2016-04-03 18:12 441 查看
ps命令:report a snapshot of the current processes /proc/:内核中的状态信息;内核参数:可设置其值从而调整内核运行特性的参数;/proc/sys/状态变量:用于输出内核中统计信息或状态信息,仅用于查看; 参数:被模拟成文件系统类型; 进程:/proc/##:代表数字,为进程的PID;例如:]# ls /proc/1/:表示系统的父进程,里面的文件都代表内核参数;内核参数就是保存当前系统状态的;]# cat /proc/1/cmdline:显示启动1号进程的命令行程序是什么;]# cat /proc/1/maps:为内存映射,显示1号进程启动后用到的物理内存空间,且里面存了什么数据; ps [options] 选项有三种风格: 1 UNIX options, which may begrouped and must be preceded by a dash. 2 BSD options, which may begrouped and must not be used with a dash. 3 GNU long options, which arepreceded by two dashes.Unix风格:必须使用-BSD风格:不能使用-GNU风格:使用-- 启动进程的方式:系统启动过程中自启动:与终端无关的进程;用户通过终端启动:与终端相关的进程; 选项:a:所有与终端相关的进程;x:所有与终端无关的进程;u:以用户为中心组织进程状态信息显示; 常用组合之一:psaux 例如:]# ps a:显示所有与终端相关的进程;]# ps x:显示所有与终端无关的进程;]# ps aux显示字段表示含义:USER:启动进程的用户;PID:进程号;默认以PID排序;%CPU:累计占用cpu的比率;%MEM:内存空间占用比率;VSZ:占用虚拟内存集的大小; 虚拟内存空间中数据的空间叫页面page,每个页面都映射到物理内存中的可用页框pageframe,且是不连续的;操作系统中可有共享库,多个进程可使用共享库,在内存中只存一份即可;比如进程1虚拟内存空间中有5个页面,其中2个是使用的共享库的数据;进程2虚拟内存空间中有4个页面,其中2个是使用共享库的数据;那么,事实上,它们真正占用的空间是不包括共享库的,进程1占用为3个内存页框,进程2占用为2个内存页框; RSS:ResidentSize常驻内存集; 内存空间分两类:物理内存和交换内存,当物理内存不够用是,可把一些数据放在交换内存上,但有些数据是不能放在交换内存中的就叫常驻内存集; TTY:?表示不知道终端是什么;如果知道就显示终端名称;STAT:当前进程的状态;(BSD风格)R:running,运行态;S:interruptablesleeping,可中断睡眠;D:uninterruptablesleeping,不可中断睡眠;T:Stopped,停止态;Z:zombie,僵死态; +:前台进程,运行在终端上,占用命令行;l:多线程进程;N:低优先级进程;<:高优先级进程;s:sessionleader,会话进程首进程;START:启动时间;TIME:cpu累计运行时间;COMMAND:有中括号的表示内核线程; -e:显示所有进程;-f:显示完整信息; 例如:]# ps -e:可显示字段为PID、TTY、TIME、CMD;]# ps -ef:可显示字段为UID、PID、PPID、C、STIME、TTY、TIME、CMD;PPID为父进程的进程号;C:cpu占用百分比,cpuutilization;STIME:启动时间;TTY:与终端相关;TIME:累计运行时间;CMD:启动进程的命令; 常用组合之二:ps-ef -F:显示完成格式的进程信息; 例如:]# ps -eF:可显示字段有:UID、PID、PPID、C、SZ、RSS、PSR、ST、STIME、TTY、TIME、CMDPSR:进程运行在哪颗cpu上; -H:以层级结构显示进程的相关信息(显示进程及子进程); 例如:]# ps -eFH:查看所有进程,完成格式,以层级结构显示; 常用组合之三:ps-eFH -o field1,field2,...:自定义要显示的字段列表,以逗号分隔;常用的field:pid,ni,pri,psr,pcpu,stat,comm,tty,ppid,rtprioni:ncie值;-20到19priority:priority,优先级;rtprio:实时优先级;psr:进程运行在哪颗cpu上;pcpu:cpu的利用率;ppid:父进程的进程号; 常用组合之四:o一定要写在后面,因为后面要带参数;ps -eops axo 例如:]# ps axo pid,comm:查看pid,comm两字段,所有与终端相关,与终端无关的进程; top命令:display Linux processes有点类似于windows中的任务管理器;以动态方式不断刷新的查看当前系统上状态信息; 显示字段说明: top - 20:01:57 up 1:17, 1 user, load average:0.00, 0.01, 0.05Tasks: 356 total, 1 running, 355 sleeping, 0stopped, 0 zombie%Cpu(s): 0.2 us, 0.3 sy, 0.0 ni, 99.5 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 stKiB Mem : 1003184 total, 724204 free, 127660used, 151320 buff/cacheKiB Swap: 2097148 total, 2097148 free, 0 used. 721960 avail Mem PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 20:01:57:为当前系统时间;up:为运行时长;user:登录当前系统的用户数量;load average: 0.00, 0.01, 0.05平均负载:过去1分钟,5分钟,15分钟的平均队列长度,(是在cpu上等待运行进程的队列长度,等待越长负载越大,通常队列长度总数量不能大于cpu数量);Tasks:进程总数、运行态、睡眠态、停止态、僵死态进程的数量;%Cpu(s):cpu占用百分比;us:用户空间进程占用cpu百分比;sy:内核空间占用cpu百分比;ni:nice值调整后额外占用cpu的时间百分比;id:空闲百分比;wa:等待IO完成占用cpu的百分比;hi:处理硬件中断占用cpu的百分比;si:处理软中断占用cpu的百分比;st:被虚拟化偷走的cpu的百分比;KiB Mem、KiBSwap:以KiB为单位显示物理内存和交换分区的空间占用情况;total:总空间;free:空闲空间;used:已用空间;buff/cache:用于缓冲和缓存的空间(可回收,不算真占用,因此真正可用空间为free+buff/cache);avail Men:可用内存空间; 显示进程状态字段说明:PID:USER:用户;PR:优先级;NI:nice值;VIRT:虚拟内存集;RES:常驻内存集;SHR:共享内存空间;S:当前状态;%CPU:cpu占用累计时间百分比;%MEN:内存占用百分比;TIME+:运行时长;COMMAND:启动命令; 显示时是默认以cpu百分比排序的,有很多交互式命令:P:以占据cpu占用百分比排序;(默认)M:以占据内存百分比排序;T:以累计占用cpu时间排序; 首部信息:uptime信息:l命令,开启或关闭;tasks及cpu信息:t命令,开启或关闭;内存信息:m命令,开启或关闭; 退出使用:q修改刷新时间间隔:s设定;指定PID,终止指定的进程:k PID 选项:-d #:启动top命令,指定刷新时间间隔,默认3秒;-b:以批次方式显示所有进程状态信息;-n #:显示多少批次;1:可以分散显示cpu各个核心信息; 例如:]# top -b -n1:仅显示一批次所有进程状态信息,就退出; htop命令:交互式进程查看器各显示字段同top; 选项:-d #:指定延迟时间间隔;-u USERNAME:仅显示指定用户的进程;-s COLUME:以指定字段进行排序;子命令:与top相同;l:显示选定进程打开的文件列表,能跟踪一个进程所打开的文件;s:跟踪选定的进程所发起的系统调用;t或F5:以层级关系显示各进程状态,树状结构显示进程父子关系;a:将选定的进程绑定在指定的CPU核心,设置进程在哪颗CPU上运行(affinity);F2:设定显示格式、显示方式等; u:显示用所有户进程;H:隐藏/显示用户线程threads;K:隐藏/显示内核线程;F:使用光标选择进程;P M T:根据CPU%,MEM%,TIME排序;c:标记进程和子进程;Esc:返回主界面; dstat命令:versatile tool for generating system resource statistics dstat [-afv] [options..] [delay [count]] 默认显示:cdngy-c:显示cpu状态相关信息;-C #,#,..,total:表示查看指定cpu核心的信息;-d:磁盘IO状态信息;-D sda,dsb,...,total-n:Internet的相关统计数据,网络状态信息;-g:显示page相关的速率数据,内存页信息;-y:系统状态信息;-i:显示中断状态信息;-l:显示平均负载状态信息;-m:Memory的相关统计数据,显示内存状态信息;-N eth1,total:指定网卡信息;-p:显示process的相关统计数据,(包括运行队列,不可中断睡眠,新建进程速率);-r:显示IO请求的相关统计数据,(包括读,写);-s:显示swap的相关统计数据,(包括已用,空闲);-S swap1,total:指定swap信息;-t:显示当前时间; --aio:显示异步IO状态信息;--ipc:显示进程间通信状态信息(包括消息队列,semaphores,共享内存);--lock:显示文件锁;(posix,flock,read,write)--raw:显示裸套接字状态信息;--tcp:显示tcp状态的进程信息;--udp:显示udp状态的进程信息; --top-bio:显示最消耗磁盘IO的进程;--top-cpu:显示最消耗cpu的进程;--top-int:显示最多中断数量的进程;--top-mem:显示最消耗内存的进程;--top-lantency:延迟最大的进程; 例如:]# dstat 2 5:每2秒钟刷新一次,只显示5次;]# dstat --tcp:查看tcp状态的进程信息;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  进程 查看