Linux进程

Linux程序与进程

程序:一组指令及参数的集合,按照既定的逻辑控制计算及运行用来完成特定的任务。
进程:运行着的程序,操作系统的基本单位,动态的,有生命周期与运行状态。
程序与进程的区别:
1.程序是静态的,没有运行意义;进程是动态的,是程序运行的动态过程
2.进程具有并发行,而程序是封闭的
进程与线程的区别:

1.一个进程可以拥有多个线程,而一个线程只能被一个进程所拥有
2.线程不能单独执行,但每一个线程都有程序的入口,执行序列以及程序出口,它必须组成进程才能执行

父子进程:
父进程复制自己的地址空间创建一个新的进程,每个进程分配一个唯一的ID

Linux进程管理工具:

pstree: 显示进程树 pstree -p
ps : 显示当前系统进程的运行情况
ps -aux:
在这里插入图片描述

USER:进程的发起者

PID:进程号

%CPU:进程使用掉的cpu资源百分比

%MEM:进程所占用的物理内存百分比

VSZ:进程使用掉的虚拟的内存的大小 单位是Kb

RSS:进程占用的固定内存大小单位是Kb

TTY:指进程是在哪个终端运行

STAT:进程目前的状态(R:running运行状态;S:interruptible sleeping 可中断睡眠;D:uniterruptible sleeping 不可中断睡眠;zombie:僵死态)
pgrep :以名称为依据从运行进程队列中查找进程,并显示查找到的进程id

选项意义
-l显示进程号和进程名
-n当匹配多个进程时,显示进程号最小的进程
-o当匹配多个进程时,显示进程号最大的进程

uptime: 显示系统总共运行了多长时间和系统的平均负载

显示当前时间,系统已启动时间,当前上线人数,系统平均负载(1、5、10分钟,一般不超过1)

free:显示当前系统 未使用的内存空间,已使用的内存空间,内核使用的内存缓冲区

-b 以字节为单位
-m 以MB为单位
-g 以GB为单位

进程监控工具:
top:可以动态的持续监控进程的运行状态
在这里插入图片描述
第一行:

1.当前系统时间

2.系统已启动的时间

3.当前登录用户数

4.系统平均负载(1min、5min、15min),超过1表示负载过高

第二行:

当前进程的总量,以及处于各种状态的进程的数量,要注意最后的zombie,不为0

要及时查看哪个进程处于僵死状态

第三行:CPU的整体负载,多核CPU可按1切换不同CPU的负载率

us:user space 用户运行程序占用CPU百分比

sy:system 用于运行内核占用CPU百分比

ni:nice用户进程空间所改变过优先级的进程占用CPU百分比

id:idle 空闲CPU百分比

wa:wait to 等待I/O花费时间

hi:hardware interrupt 硬件中断占用CPU的百分比

si:software interrupt 软件中断占用CPU的百分比

st:stolen 被偷走的CPU百分比,一般为虚拟机占用

第四行:表示物理内存的使用情况

第五行:表示交换分区的使用情况

htop:top增强版进程监控工具
在这里插入图片描述

PID:进程标志号,是非零正整数
USER:进程所有者的用户名
PR:进程的优先级别
NI:进程的优先级别数值
VIRT:进程占用的虚拟内存值
RES:进程占用的物理内存值
SHR:进程使用的共享内存值
S:进程的状态,其中S表示休眠,R表示正在运行,Z表示僵死状态,N表示该进程优先值是负数
%CPU:该进程占用的CPU使用率
%MEM:该进程占用的物理内存和总内存的百分比
TIME+:该进程启动后占用的总的CPU时间
COMMAND:进程启动的启动命令名称

vmstat:虚拟内存统计工具
通过top、htop我们可以获得一些进程对系统资源的使用情况,而vmstat则可以通过内存、磁盘、网络、CPU来动态显示系统资源的使用情况。
在这里插入图片描述

-s 显示内存的统计数据
-d 显示磁盘的统计数据

vmstat输出含义:

procs:

r:可运行进程的个数,和核心数有关

b:处于不可终端睡眠状态

memory:

swpd:交换内存的使用总量

free:空闲物理内存总量

buffer:用于buffer的内存总量

cache:用于cache的内存总量

swap:

si:从磁盘交换进内存的数据速率(kb/s)

so:从内存交换至磁盘的数据速率(kb/s)

io:

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

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

system:

in:interrupts 中断速率,包括时钟

cs:进程切换速率

cpu:

us:user space 用户运行程序占用CPU百分比

sy:system 用于运行内核占用CPU百分比

id:idle 空闲CPU百分比

wa:wait to 等待I/O花费时间

st:stolen 被偷走的CPU百分比,一般为虚拟机占用
lsof:是一个列出当前系统打开文件的工具

[root@192 ~]# lsof
COMMAND    PID USER   FD      TYPE             DEVICE SIZE/OFF       NODE NAME
init         1 root  cwd       DIR                8,2     4096          2 /
init         1 root  rtd       DIR                8,2     4096          2 /
init         1 root  txt       REG                8,2   150352     134610 /sbin/init
init         1 root  mem       REG                8,2    66432     133698 /lib64/libnss_files-2.12.so
init         1 root  mem       REG                8,2  1924768     133682 /lib64/libc-2.12.so
init         1 root  mem       REG                8,2    90912     143162 /lib64/libgcc_s-4.4.7-20120601.so.1
init         1 root  mem       REG                8,2    44472     133710 /lib64/librt-2.12.so
init         1 root  mem       REG                8,2   143280     133706 /lib64/libpthread-2.
......

每行显示一个打开的文件,若不指定条件默认将显示所有进程打开的所有文件。

lsof输出各列信息的意义如下:
1、COMMAND:进程的名称
2、PID:进程标识符
3、USER:进程所有者
4、FD:文件描述符,应用程序通过文件描述符识别该文件。如cwd、txt等
5、TYPE:文件类型,如DIR、REG等
6、DEVICE:指定磁盘的名称
7、SIZE:文件的大小
8、NODE:索引节点(文件在磁盘上的标识)
9、NAME:打开文件的确切名称

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值