Linux哲学思想之一:一切皆文件:
内核将其参数全部映射为文件;这些文件保存在/proc, /sys目录中;
/proc目录:保存内核及进程状态信息,是内核参数的映射;
内核参数:
可调参数:调整运行特性;/proc/sys
不可调参数:输出内核统计信息及状态信息;
进程状态:/proc/# 与进程号同名的目录,目录下存放许多当前进程相关信息;
进程号:PID,标识当前系统上的某个进程;
抽象成文件,其内容不方便查看;就用一些命令,为了更直观地查看,输出这些内核状态统计数据;
ps命令:
格式:
UNIX:有-
BSD: 无-
GNU: —
常用组合:
ps axu
a: affinity, 与终端相关;
x: 与终端无关;
u: user, 与用户为中心;
ps -ef
-e: 与终端相关及与终端无关;
-f: full format,完整格式;
ps -eFH
-H: Hierarchy, 层级结构显示;
-F:Full format,更完整的格式;
所有组合中相关字段解释:
PID 进程PID
TTY 进程类型
STAT 进程状态
TIME 占据CPU时间”累积”时长
COMMAND/CMD 运行为进程的程序文件;
USER 进程的身份
%CPU “累积”占用CPU百分比;
%MEM 占据整个内存空间的百分比;
VSZ 占据虚拟内存大小;被称为”虚拟内存集” 虚拟内存:线性地址空间;可被交换到swap中的数据 …;
RSS 占据物理内存大小:被称为”常驻内存集” 不可被交换到swap中的指令 …;
START/STIME 启动进程的系统时间;
PPID 进程的父进程的ID号;
C 进程占用CPU百分比;
进程类型
与终端相关:/dev/tty#, /dev/ttyS#, /dev/pts/#
与终端无关:?
进程状态
运行:Runing, R
停止:sTopping, T
僵死:Zombie, Z
前台进程:+
多线程进程:l
高优先:<
低优先:N
不可中断睡眠:D (uninterrupt sleeping)
可中断睡眠:S (interrupt sleeping)
领导进程:s (session leader)
top命令:
top option
选项:
-b ;以批次显示;默认不切换批次;
-n # ;与-b连用;显示#批;
-d # ;delay,延迟;
内建命令:
l: 隐藏或显示topk栏; uptime命令也可获取;
t: 隐藏或显示task或cpu信息;
1: cpu按个显示或总体显示;
m: 隐藏或显示mem或swap信息;
k: 终止指定PID的进程;
d: 调整delay值;
显示信息:
top – 17:25:02 up 3:03, 5 users, load average: 0.11, 0.13, 0.10
系统时间; date
系统运行时间,
当前登陆用户; who | wc -l
平均负载: 过去1,5,15分钟等待运行进程的队列长度;其值应该小于CPU数量;
Tasks: 369 total, 2 running, 367 sleeping, 0 stopped, 0 zombie
进程状态: 进程个数; 运行进程数; 睡眠进程数; 停止运行进程数; 僵尸进程数;
KiB Mem : 1003160 total, 390552 free, 168096 used, 444512 buff/cache
内存(KiB): 总内存; 空闲内存; 使用内存; buff/cache占用; (实际空闲: free + buff/cache)
KiB Swap: 2097148 total, 2097148 free, 0 used. 616460 avail Mem
swap(KiB): 总SWAP大小; 空闲swap; 使用swap; 可用内存;
%Cpu(s): 0.0 us, 0.0 sy, 0.0 ni,100.0 id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st
CPU: us: 用户空间占据CPU百分比; sy: 内核空间占据CPU百分比; ni: 调整NICE值额外占据CPU百分比; id: 空闲百分比; hi: 硬件中断占据CPU百分比; si: 软中断占据CPU百分比; st: 被虚拟化技术偷走占据CPU百分比; cs: 进程切换占据CPU百分比;
PR: PR+100=优先级范围;
NI: NICE值
VIRT: 虚拟内存集: 虚拟内存占据大小;
RES: 常驻内存集: 不可被交换到swap中的指令;
SHR: 共享内存: 进程共用的共享库;
%CPU: 进程占据CPU百分比
%MEM: 占据内存整个空间百分比;
TIME+: CPU的累积时长;
htop命令:
配置EPEL源:
~]# cat /etc/yum.repos.d/CentOS-EPEL.repo
# fedora epel
[epel]
name=Fedora EPEL for CentOS-$releasever
baseurl=https://mirrors.aliyun.com/epel/$releasever/$basearch/
gpgcheck=0
gpgkey=https://mirrors.aliyun.com/epel/RPM-GPG-KEY-EPEL-7
enabled=1
~]# yum -y install htop
htop option
选项
-d # ;delay,延迟;
-u UserName:仅显示指定用户的进程
-s COLUME: 以指定字段进行排序;
内建命令
u: 显示指定用户的进程
H:线程
K:内核线程
F: 高亮光标跟踪进程;
P M T: CPU, MEM, TIME
F6 > : 选择字段排序
a : affinity 进程绑定在某CPU核心上运行;默认在所有CPU均可运行;
l : 查看选定进程所打开的文件;F5刷新
s : 查看选定进程发起的系统调用;F8自动滚屏 F9停止滚屏
t : ps -eFH 以层级结构显示父子关系;
dstat命令:
非常精巧生成系统资源统计数据;
~]# yum -y install dstat
dstat options [delay [count]]
-c, –cpu: 显示cpu相关信息:
-C #,#,total
-d,–disk: 显示磁盘相关信息:
-D #,#,total
-g 内存页换进换出; 以内存为中心显示数据统计;磁盘至内存;
-m memory
-n interface
-p process 可中断睡眠,不可中断睡眠,3.4
-r io 显示IO请求的相关统计数据;
-s swap的相关统计数据;
-t time
–aio enable aio stats (asynchronous I/O)
–ipc enable ipc stats (message queue, semaphores, shared memory)
–raw enable raw stats (raw sockets)
–socket enable socket stats (total, tcp, udp, raw, ip-fragments)
–tcp enable tcp stats (listen, established, syn, time_wait, close)
–udp enable udp stats (listen, active)
–unix enable unix stats (datagram, stream, listen, active)
expensive 消耗:
–top-bio show most expensive block I/O process
–top-cpu show most expensive CPU process
–top-int show most frequent interrupt
–top-io 最占用IO的进程;
–top-latency: 延迟最大的进程;
本文来自投稿,不代表Linux运维部落立场,如若转载,请注明出处:http://www.178linux.com/89050