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

 

 一、进程简介

   

进程是linux用来表示正在运行的程序的一种抽象概念,程序内存的使用,处理器时间和I/O资源就是通过这个对象进行管理和监视的。

一个程序要先运行在用户空间,当他需要去使用硬件资源的时候,就不得不去调动内核才能取得使用权,这时候调动内核,进入内核空间,当内核处理完毕需求之后,将指令返回给用户,一个调用完成。

进程会以时间片段在CPU运行的,CPU以一根时间线被划分成无数个片段;当一个进程运行到某个阶段,需要暂时终止的时候,需要保存一个进程运行的现场,叫保存现场;执行到某片段的时候,需要中断,当再需要执行的时候,恢复现场。

运行中的程序的某个副本才叫进程;进程有生命周期,进程时活动的。

内核为每个进程都要创建一个运行信息,存储每一个进程的相关信息,及进程的结构体,即task struct。这里面的信息有:

1.进程的地址空间映射;

2.进程的当前状态(睡眠状态,停止状态,可运行状态等)

3.进程执行的优先级;

4.进程已用资源的信息;

5.进程已打开的文件和网络端口的信息;

6.进程的信号掩码(一个记录,确定要封锁哪些信号)

7.进程属主。

一个进程由一个地址空间和内核内部的一组数据结构组成。地址空间是内核标记出的供进程使用的一组内存页面。它包含了进程只在执行的代码和库,进程变量,进程栈以及进程运行时所需要的各种其他信息。

一个线程是一个进程内执行了一次fork()的结果,线程继承了包含他的进程的许多属性(进程的地址空间等)。

进程的调度优先级决定了他接受到CPU的时间的多少。nice值决定了进度优先级。静态nice值越小,优先级越高。

为了创建一个新的进程,一个进程就会用系统fork来复制自身,fork创建原进程的一个副本,这个副本大致与父进程相同,新进程拥有不同的PID。

fork具有独一无二的特性,它能够返回两个值,对子进程来说,返回为0,对父进程来说,返回一个PID。

linux系统最独特进程时init进程。进程号总为1,他是其他进程的GOD,除了内核创建的几个进程外,其他所有进程都是他的后代。

 

 二、linux系统上进程查看及管理工具:

CentOS 5:SysV init

CentOS 6:upstart

CentOS 7:systemd

 三、 htop命令

    

     3.1安装hotp方法(以阿里云网站为环境)

    

   

Ali.repo内部内容(CentOS 6为例)

[epel]

name=Ali EPEL

baseurl=http://mirrors.aliyun.com/epel/6/$basearch/

gpgcheck=0

3.2 htop显示

右边tasks只是用户空间的进程;

支持鼠标,点或者按F1进入帮助选项

子命令:

u:查看某个用户进程    H:显示或隐藏用户线程    K;隐藏或显示内核线程

F6:指定排序   F:光标在哪个线程   PMT:排序方式    c:标记出一个进程和子进程

a:将选定的进程绑定至某指定的CPU核心;   l:跟踪显示某个进程打开的所以文件

s:跟踪选定的进程的系统调用;    t:以层级关系显示各进程状态;

选项:

-d #:指定延迟时间间隔;

-u UserName:仅显示指定用户的进程;

-s COLUME:以指定字段进行排序;

可以利用子命令进行想要的显示。

 

 四、dstat命令

4.1 dstat:用于生成资源信息统计的工具。默认给的选项是-cdngy

4.2 格式:dstat [-afv] [options..] [delay [count]]

常用选项:

-c, --cpu:显示cpu相关信息;

-C #,#,...,total

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

-D sda,sdb,...,tobal

-n:Interface的相关统计数据;

-g:显示page相关的速率数据;

-m:Memory的相关统计数据

-p:显示process的相关统计数据;

-r:显示io请求的相关的统计数据;

-s:显示swapped的相关统计数据;

-y:system

示例:

--aio:统计异步IO

--ipc:统计进程间各自通信信息(消息队列,信号量,共享内存)

--lock:文件锁信息:

--tcp:动态显示TCP状态各连接状态信息的数量

--udp:动态显示UDP状态各连接状态信息的数量

--raw :裸套接字相关信息

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

示例:

#还可显示占用资源量较大的进程

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

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

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

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

 四、top命令


   4.1显示linux的进程信息

4.2  排序:

P:以占据CPU百分比排序;

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

T:累积占用CPU时间排序;

首部信息分为三块:

uptime信息:l命令

tasks及cpu信息:t命令

内存信息:m命令

其中第一行信息解释:

显示系统时间、运行时长及平均负载;过去1分钟、5分钟和15分钟的平均负载;等待 运行的进 程队列的长度;

第三行:

us:用户空间进程占用的CPU百分比

sy:内核空间进程占用的CPU百分比

ni:用于nice值调整占用的CPU百分比

id:空闲百分比

wa:等待IO消耗的时间CPU百分比

hi:处理硬件中断消耗的CPU百分比

si:处理软件终端小号的CPU百分比

st:被虚拟环境偷走的CPU百分比

进程状态字段含义:

PR:进程优先级

NI:nice值

VIRT:虚拟内存集

RES:常驻内存集

SHR:共享内存空间

S:当前状态

%CPU:占用CPU时间百分比

%MEM:占用内存百分比

TIME+:运行时间

退出命令:q

修改刷新时间间隔:s

终止指定的进程:k

使用选项:

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

-b:以批次方式显示;

-n #:显示多少批次;

 

  五、ps命令


    5.1 ps:报告当前进程的信息

ps - report a snapshot of the current processes.

启动进程的方式:

系统启动过程中自动启动;与终端无关的进程

用户通过终端启动:与终端相关的进程

选项:

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

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

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

-e:显示所有进程

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

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

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

5.2常用组合之一  aux

显示的第一行的意义:

VSZ:虚拟内存集;

RSS:Resident Size,常驻内存集;

STAT:状态

R:running 运行中状态

S:interruptable sleeping 可中断睡眠状态

D:uninterruptable sleeping 不可中断睡眠状态

T:Stopped 停止状态

Z:zombie 僵死状态

+:前台进程

l:多线程进程

N:低优先级进程

<:高优先级进程

s:session leader

5.3常用组合之二  -ef

显示的第一行的意义:

PPID:父进程

C:CPU的占用百分比

STIME:启动时间

TTY:与何终端相关

TIME:CPU累积运行时间

5.4常用组合之三  -eFH

显示的第一行的意义:

PSR:运行于哪颗CPU之上

SZ:使用掉的内存大小

5.5常用组合之三  -ex ,axo

o field1,field2....:自定义要显示的字段列表,以逗号隔开

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

ni:nice值

pri:priority,优先级

rtprio:real time priority,实时优先级

时间: 2024-12-11 04:26:26

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

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

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

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

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,vmstat

ps命令 1.ps简介 ps命令是一个查看进程的命令,使用该功能可以确定有那些正在运行的状态.进程是否结束.进程有没有僵死.哪些进程占用了过多的资源等等. 2.ps及命令参数 ps选项有三种风格: (1) UNIX 风格:选项前必须带有-连字符:如:-e (2) BSD 风格  :选项前不使用-连字符 如:aux (3) GNU 风格 : 选项必须使用长格式显示 ps [选项] a:所有与终端相关的进程: x:所有与终端无关的进程: u:以用户为中心组织进程状态信息显示: -e:显示所有进程 -

Linux进程及作业管理

一.进程查看及其管理工具 --------------------------------------------- ps命令:报告当前进程的快照信息 ps - report a snapshot of the current processes. 选项: -A:显示所有进程与-e相同的效果 -a:不与终端相关的所有进程 -u:与用户相关的进程 -x:通常和a,u结合使用,显示出来比较全面的信息 -f:做一个更为完整的输出 常用的组合:     ps -ef 以完整的信息显示所有进程信息   

Linux系统--Linux进程与作业管理(2)

Linux系统--Linux进程与作业管理(2) Linux进程相关的基本概念已经了解,Linux进程管理的一些命令: pstree,ps,pidof,pgrep,top,htop,glance,pmap,vmstat,dstat,kill,pkil,job,bg,fg,nohup 1.pstree命令: pstree - display a tree of processes:以树状形式显示当前系统进程,和命令tree相似. 2.ps命令: ps - report a snapshot of 

Linux 进程和作业管理

Linux进程和作业管理 ================================================================= 内核的功能:进程管理(进程调用,保存现场,恢复现场).文件系统.网络功能.驱动功能.安全功能 process:运行中的程序的一个副本: 存在生命周期 linux内核存储进程信息的固定格式:task struct(任务结构) 多个任务的task struct组件的链表:task list(任务列表) 进程创建: init进程是由内核创建,其余

Linux自学笔记——linux进程及作业管理

内核的功用主要有进程管理.文件系统.网络功能.内存管理.驱动程序.安全功能这几个方面,本文主要讨论linux进程及作业管理. 进程管理: 进程,process,运行中程序的一个副本,且存在生命周期: 进程分为CPU bound和I/Obound. CPU bound:CPU密集型(类似于高清视频) I/O bound:IO密集型(编辑器等频繁IO操作) Linux内核存储进程信息的固定格式为:task struct(结构体) 多个任务的task struct组件的链表:task list 进程创