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

相关推荐

  • 内核编译

    内核编译 程序包的编译安装 ./configure,make,make install./configure检查编译环境依赖关系,并设定参数make 执行编译操作make install 安装二进制库文件帮助文档配置文件 前提:开发环境(开发工具,开发库),头文件:/usr/include 开源:源代码 发行版,就是把源代码拿过来,组织成程序。  …

    Linux干货 2016-09-19
  • 变量

    变量     在shell脚本中,单独的字符或者命令只能引用一次,对于变量,我们可以多次引用,且对变量的赋值修改方便。对于一条很长的命令或者频繁使用的路径等,我们可以赋值给一个变量,比如获得系统中所有用户的uid,要输入很长的一段命令,我们如果每次使用都输入命令是件很麻烦的事情,如果赋值变量,那么就会很方便。设置变量userui…

    Linux干货 2017-08-06
  • shell中测试命令

    shell中测试命令        test命令提供了if–than语句中测试不同条件的途径。如果test命令中列出的条件成立,test命令就会退出并返回退出状态吗0 。这样if–than语句就与其他编程语言中的if–than语句类似的方式工作了。如果条件不成立,…

    Linux干货 2017-04-16
  • 8-2 用户组和权限管理

    用户组和权限管理     本节主要是:su、passwd、chage、chown、chgrp、chmod、umask等命令及文件的三种普通权限和三种特殊权限     切换用户或以其他用户身份执行命令:su su [options…] [-] [user[args…]] 切换用…

    Linux干货 2016-08-07
  • 09yum的使用以及简单配置

    YUM: yellowdog update modifier ,rpm的前端程序,用来解决软件包相关依赖性,可以在多个库之间定位软件包。 yum repository:yum repo,存储了众多RPM包,以及包相关的元数据文件,放置于特定目录repodata下。 yum 访问的文件服务器主要有三种,ftp,http,file。 yum客户端配置文件: 【/…

    Linux干货 2016-11-04
  • 8.1_Linux管道的使用和用户管理

    什么是管道? 管道就是把命令1的标准输出发送给命令2的标准输入,把命令2发的标准输出发送给命令3的标准输入。。。 最后一个命令会在当前shell进程的子shell进程中执行用来 管道实现了使用目的单一的小程序,组合小程序完成复杂的任务 管道需要配合其他命令的使用 tr命令的使用,常常用于配合管道     -c或–co…

    Linux干货 2016-08-10