dstat,htop,top,ps命令 (Blog 8)

 

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

(0)
逆神阳逆神阳
上一篇 2017-11-27 23:13
下一篇 2017-11-27 23:19

相关推荐

  • 马哥教育网络班21期+第11周课程练习

    1、详细描述一次加密通讯的过程,结合图示最佳。 首先发送方用单向加密的方法提取数据的特征码,用自己的私钥加密这段特征码,并附加到数据的后面。 发送方用对称加密算法把数据及特征码整个进行加密。 发送方用接收发的公钥加密对称密钥并附加到数据后面。 接收方用私钥解密对称密钥。 接收方用对称密钥解密出数据及加密的特征码。 接收方用发送方的公钥解密特征码,并用相同的算…

    Linux干货 2016-10-09
  • linux基础学习第十一天(shell循环、软件包管理)

    2016-08-16 授课内容: shell脚本基础:循环,for,while,until(未讲完) 软件包管理(未讲完): 软件运行环境 软件包基础 Rpm包管理 循环执行 将某代码段重复运行多次 重复运行多少次: 循环次数事先已知 循环次数事先未知 有进入条件和退出条件 循环控制语句: break:【提结束循环,循环将不再执行】指前面的循环退出,退…

    Linux干货 2016-08-18
  • 2、基本命令介绍

    http://note.youdao.com/yws/public/redirect/share?id=dbbed5e1e3ecce8712076f11e70fc038&type=false

    Linux干货 2016-08-08
  • DNS中view的实现

    [root@localhost /var/named]# ll total 32 -rw-r–r–. 1 root  root   173 Jan 20 14:46 magedu.com.zone -rw-r–r–. 1 root  root   173 Jan 20 14:46 magedu.com.zone…

    2018-01-22
  • Samba详解

    samba详解 yum list all | grep samba yum info samba yum -y install samba 服务端程序包:samba nmbd smbd rpm -ql samba-common rpm -ql samba-common-tools 主配置文件:/etc/samba/smb.conf systemd unit …

    Linux干货 2017-10-21
  • 三剑客-sed小结

     sed是一款流编辑器工具,通常我们用来对文本进行过滤与替换操作,特别是当你想要对几十个配置文件做统一更改时,你会感受到sed的魅力。它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到…

    系统运维 2016-07-26