- uptime查看cpu负载工具,详述弹出的消息含义
- 13:22:30 当前前时间
- up 20days 系统运行时间 ,说明此服务器连续运行 20 天了
- 2 user 当前前登录用户数
- load average: 0.06, 0.60,0.48
- 系统负载,即任务队列的平均长度。 三个数值分别为 1 分钟、5 分钟、15 分钟前到现在的平均值。
- 如果服务器的 CPU 为 1 核心,则 load average 中的数字 >=3 负载过高,如果服务器的 CPU 为 4 核心,则 load average 中的数字 >=12 负载过高,我们认为超过 3 就升级 CPU
- top命令,详述每行字段含义
第一行和uptime信息一样
第二行Tasks: 481 total 迚程总数
1 running 正在运行的迚程数
480 sleeping 睡眠的迚程数
0 stopped 停止的迚程数
0 zombie 僵尸迚程数
第三行Cpu(s): 0.0% us 系统用户迚程使用 CPU 百分比。
0.0% sy 内核中的迚程占用 CPU 百分比
0.0% ni 用户迚程空间内改变过优先级的迚程占用 CPU 百分比
98.7% id 空闲 CPU 百分比
0.0% wa cpu 等待 I/0 完成的时间总量。0.0% hi(了解)
硬中断消耗时间
硬中断,占的 CPU 百分比。1. 硬中断是由硬件产生的,比如,像
磁盘,网卡,键盘,时钟等。每个设备戒设备集都有它自己的 IRQ(中
断请求)。基亍 IRQ,CPU 可以将相应的请求分发到对应的硬件驱劢上
(注:硬件驱劢通常是内核中的一个子程序,而丌是一个独立的迚程)。
# hi -> Hardware IRQ: The amount of time the CPU has been
servicing hardware interrupts.
0.0% si(了解)
软中断消耗时间
软中断,占的 CPU 百分比。1. 通常,软中断是一些对 I/O 的请求。
这些请求会调用内核中可以调度 I/O 发生的程序。对亍某些设备,I/O
请求需要被立即处理,而磁盘I/O请求通常可以排队并且可以稍后处理。
根据 I/O 模型的丌同,迚程戒许会被挂起直到 I/O 完成,此时内核调度
器就会选择另一个迚程去运行。I/O 可以在迚程乊间产生并且调度过程
通常和磁盘 I/O 的方式是相同。# si -> Software Interrupts.: The
amount of time the CPU has been servicingsoftware
interrupts.
0.0 st (steal 偷)
st:虚拟机偷取物理的时间。比如:物理机已经运行了 KVM,XEN
虚拟机。KVM 虚拟机占用物理机的 cpu 时间
第四行Mem: 2033552k
total物理内存总量
340392k used 使用的物理内存总量
1376636k free 空闲内存总量
316524kbuff/cache用作内核缓存的内存量。和 free -k 一个意思
第五行Swap: 2017948k
total交换区总量
0k used 使用的交换区总量
192772k free 空闲交换区总量
1518148 avail Mem 总的可利用内存是多少
第六行PID 进程 id
USER 进程所有者的用户名
PR 优先级(由内核动态调整),用户不能
NI进程优先级。 nice 值。负值表示高优先级,正值表示低优先级,用户可以自己调整
VIRT(virtual memory usage)虚拟内存,是进程正在使用的所有内存(ps 中标为 VSZ)
VIRT:virtual memory usage 虚拟内存
1、进程“需要的”虚拟内存大小,包括进程使用的库、代码、数据等
2、假如进程申请 100m 的内存,但实际只使用了 10m,那么它会增长 100m,而不是实际的使用量
RES(resident memory usage)是进程所使用的物理内存。实际实用内存(ps 中标为 RSS)
RES:resident memory usage 常驻内存
1、进程当前前使用的内存大小,但不包括 swap out
2、包含其他进程的共享
3、如果申请 100m 的内存,实际使用 10m,它只增长 10m,与VIRT相反
4、关于库占用内存的情况,它只统计加载的库文件所占内存大小
SHR
共享内存大小,单位 kb
SHR:shared memory 共享内存
1、除 M 了自身进程的共享内存,也包括其他进程的共享内存
2、虽然进程只使用了几个共享库的函数,但它包含了整个共享库的大小
3、计算某个进程所占的物理内存大小公式:RES – SHR
4、swap out 后,它将会降下来
S
进程状态。
D=不可中断的睡眠状态
R=运行中或可运行
S=睡眠中
T=已跟踪/已停止
Z=僵停
%CPU 上次更新到现在的 CPU 时间占用百分比
%MEM 进程使用的物理内存百分比
TIME+ 进程使用的 CPU 时间总计,单位 1/100 秒
COMMAND 命令名/命令行
- 操作一遍top命令快捷键,s,P,M,T,p,u,h,q
- 默认3秒刷新一次,按s修改刷新时间,按空格立即刷新
- 大写P按cpu排序
- 大写M按内存排序
- T按时间排序
- top -p pid 查看某个进程的状态 ,ps -aux | grep mysqld
- 数字1,显示每个内核的cpu使用率
- u,输入用户,显示该用户的进程
- 找出系统中使用cpu最多的进程
- top -P
- 使用screen新建会话,在会话中ping baidu.com >> a.txt,ctrl+a+d切换回shell窗口,使tail动态查看a.txt ,用lsof查看ping在读哪些文件,使用lsof查看22被哪些进程占用,回到screen建立的会话,退出该会话。
- screen -S test
- ping baidu.com >> a.txt
- ctrl +a +d
- tail -f a.txt
- ps aux | grep baidu.com
- lsof -p pid
- lsof -i:22
- screen -r test
- 使用netstat 查看80端口被哪些进程占用
- netstat -lnput | grep 80
- 显示系统中可用内存和已用内存的数量,简述每个字段含义
- free -m
- 使用vim 编辑a.txt,停止该进程,查看后台有多少挂起的进程,恢复vim到前台运行
- vim a.txt
- ctrl +z
- jobs
- fg #
- 使用vim编辑a.txt并指定该进程为优先级为7,停止该进程,查看该进程优先级,修改该进程优先级为负7。
- nice -n +7 vim a.txt
- ctlr +z
- ps aux | grep a.txt
- top -p pid
- renice -7 pid
- jobs
- fg 1
第10章 Linux系统进程管理
最新推荐文章于 2024-08-10 07:39:53 发布