原标题:运维入门:细说Linux,做IT必看
Linux进程和系统、任务管理
一、基本概念
程序:一组指令的集合
进程:程序的具体实现,执行程序的具体过程
子进程调用:fork-and-exec流程:
1.先用fork的方式复制出一个与父进程相同的临时进程,这个进程与父进程的唯一差别是PID不同,还多了一个父进程标示PPID;
2.临时进程开始以exec方式加载实际要执行的内容,替换掉新进程中原父进程的内容,然后开始执行。
二、进程查看命令:
1)ps:截取某时间点的程序运行情况并显示
1.常用参数:
-A:所有进程
a:与输入终端关联的所有进程
-u:有效使用者相关的所有进程
x:列出完整信息
l:较长较详细的将PID信息列出
j:以Job格式显示
-f:做一个更为完整的输出
2.常用组合:
ps aux:观察系统所有的程序数据
ps -lA:也是能够观察所有系统的数据
ps axjf:连同部分程序树状态
3.显示信息:
USER:使用者归属账号
PID:程序标识符
%CPU:CPU资源占用率
%MEM:物理内存占用率
VSZ:用掉的虚拟内存量
RSS:占用的物理内存量
TTY:该进程在哪个终端机上运作,若与终端机无关则显示?,tty1-tty6为本机登入者,pts/0等为网络连接进主机的程序
STAT:该进程目前的状态
START:出发启动时间
TIME:使用CPU运作的时间
COMMAND:改程序实际命令为何
4.进程状态
R:Running/Ready
S:Sleep
D:Deep sleep
T:Stop
Z:Zombie僵尸进程
出现原因:已经执行完毕,或者因故终止,但该进程的父进程去无法完整的将进程结束掉,造成部分进程一直存在与内存中。
2)top:持续观察进程运行状态
常用参数:
-d:后接秒数,表示更新时间,默认为5秒
-b:以批次的方法执行top
-n:与-b搭配,将结果输出成档案
-p:制定某个PID来进行观察监测
top执行过程中可以使用的按键指令:
?:显示在top中可以输入的按键指令
P:以CPU使用资源排序显示
M:以内存使用资源排序显示
N:以PID排序显示
T:以进程使用CPU时间累积排序显示
k:给予某PID进程一个信号
r:给予某PID重新制定一个nice值
q:离开top
3)pstree:查看进程树
常用参数:
-A:各程序树之间的连接以ASCII字符来连接
-U:各程序树之间的连接以万国码字符来连接
-p:同时列出每个进程PID
-u:同时列出每个进程所属账号名称
三、进程管理
kill:发送信号(不只是杀死进程)
常用选项:
-l:列出目前kill能使用的信号有哪些
singal:向进程发送信号,指示其进行不同操作,常见信号:
1:对于sshd这样的守护进程,重新读取一次参数的配置文件,如果进程没有处理该信号,默认为终止进程
2:代表输入一个Ctrl+c
9:立即强行删除一个工作
15:以正常的程序方式终止一项工作
四、资源管理
1)free:观察内存使用情况
常用参数:
-b:bytes显示
-k:Kbytes显示
-m:Mbytes显示
-g:Gbytes显示
-t:显示物理内存与swap总量
显示选项解析:
Mem:一行显示物理内存的量
Swap:虚拟内存的量
total:总量
used:已使用量
free:剩余可用量
shared:共享内存
buffers:将写磁盘的内容
cached:已写磁盘或者已从磁盘都出的内容
2)uname:查阅系统与核心相关信息
常用参数:
-a:所有系统相关的信息,宝库啊一下各参数都会被列出来
-s:系统内核名称
-r:内核版本
-m:本系统硬件名称
-p:CPU类型
-i:硬件平台
3)uptime:查看机器启动时间与工作负载
4)netstat:网络监控
常用参数:
-a:将目前系统上所有的已经连接、监听、Socket数据都列出来
-t:列出tcp网络包的信息
-u:列出udp网络包的信息
-n:以端口(port number)方式来显示
-l:列出目前正在监听的服务
-p:列出该网络服务的进程ID(PID)
选项显示解析:
Proto:包协议,主要是TCP和UDP包
Recv-Q:接收消息缓存区,发送来尚未被处理数据,单位:字节
Send-Q:发送消息缓存区,发送出去尚未被其接收的消息数,单位:字节
Local Address :本端网络地址(IP:port)
Foreign Address:不当前迚程迚行通信的进程迚程的网络地址(IP:port)
State :网络连接状态,主要有建立(ESTABLISED)及监听(LISTEN)
5)vmstat:侦测系统资源变化
常用参数:
-a:使用inactive/active取代buffer/cache输出信息
-f:开机到目前为止,系统复制(fork)的进程数
-s:开机到目前为止造成内存变化事件列表
-S:后接单位,制定显示数据单位
-d:列出磁盘的读写总量统计表
-p:后可接磁盘分区,显示该磁盘分区的读写总量统计
显示解析:
r:等待运行的进程数量
b:不可被唤醒的进程数量
swpd:虚拟内存被使用的容量
free:未被使用的内存容量
buff/cache:用于缓冲的内存
si:每秒从交换区写到内存的数据量大小,由磁盘调入内存
so:每秒写入交换区的内存数据量大小,由内存调入磁盘
如果si/so的数值太大,表示内存内的数据常常得在磁盘与主存储器之间传来传去,系统效能会很差
bi:从块设备读入数据的总量(读磁盘)(kb/s)
bo:块设备写入数据的总量(写磁盘)(kb/s)
如果这部份的值越高,代表系统的I/O非常忙碌
五、任务管理
启动bash后,就会取得一个名为bash的进程,在bash中执行的其他指令,都是所谓的子进程。
前台:可以控制和执行命令的bash环境称为前台
后台:在操作系统中自行运行,无法使用Ctrl+c终止,可以使用bg/fg命令操作的任务,后台执行的任务不能接收终端(terminal/shell)的输入。
常用命令:
&:直接将命令放到后台执行
jobs:查看当前工作状态
-l:观察当前的后台任务
Ctrl+z:奖当前工作丢到后台并暂停
fg:将后台拿到前台执行eg.fg jobnumber jobnumber为任务号
bg:让任务在后台变成执行状态eg.bg number number为第几个任务
nohup:让你再脱机或者注销后,任务继续工作
更多免费教程请点尚观科技 uplooking.sh.cn返回搜狐,查看更多
责任编辑: