11. 系统状态管理

简介: 11. 系统状态管理 一、分别制造 CPU、内存、磁盘IO、网络IO繁忙的情况,并用 top, dstat, iostat 等工具观察 1、top a、命令解析       - q                    ...
11. 系统状态管理

一、 分别制造 CPU、内存、磁盘IO、网络IO繁忙的情况,并用 top, dstat, iostat 等工具观察
1、top
a、命令解析  
    - q                      退出top命令
    - <Space>       立即刷新
    - s                     设置刷新时间间隔
    - c                     显示命令完全模式
    - t                      显示或隐藏进程和CPU状态信息
    - m                    显示或隐藏内存状态信息
    - l                      显示或隐藏uptime信息
    - f                      增加或减少进程显示标志
    - S                    累计模式,会把已完成或退出的子进程占用的CPU时间累计到父进程的MITE+
    - P                    按%CPU使用率排行
    - T                    按MITE+排行
    - M                   按%MEM排行
    - u                    指定显示用户进程
    - r                     修改进程renice值
    - kkill                进程
    - i                     只显示正在运行的进程
    - W                  保存对top的设置到文件^/.toprc,下次启动将自动调用toprc文件的设置。
    - h                    帮助命令。
    - q                   退出

b、top 使用 
    # top
    top - 16:50:20 up  5:43,  3 users,  load average: 0.00, 0.00, 0.00
    Tasks: 157 total,   1 running, 156 sleeping,   0 stopped,   0 zombie
    Cpu(s):  8.2%us,  2.2%sy,  0.0%ni, 89.7%id,  0.0%wa,  0.0%hi,  0.0%si,  0.0%st
    Mem:   1907580k total,  1655416k used,   252164k free,    52160k buffers
    Swap:  4194296k total,        8k used,  4194288k free,  1116244k cached

    PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND
    2453 root      20   0  206m  47m 9196 S  5.8  2.5   1:14.98 Xorg
    3072 D         20   0  349m  18m  11m S  2.5  1.0   0:31.89 gnome-terminal  
    第一行显示的是  当前时间 、当前有多少个登录的用户、系统负载
    第二行显示的是  进程总数、正在运行的进程数、睡眠的进程数、停止的进程数、僵尸态进程数
    第三行显示的是  用户占 CPU 的百分比、内核占 CPU 的百分比、用户进程内改变过优先级的进程占 CPU 的百分比、空闲 CPU 的百分比、等待输入输出的百分比、
                                硬中断占用 CPU 的百分比、软中断占 CPU 的百分比、虚拟机偷取时间
    第四行显示的是  物理内存总数、使用的物理内存总数、空闲内存总数、用作内核缓存的总数
    第五行显示的是  交换区总量、使用的交换区总量、空闲的交换区总量、缓存的交换区总量
    PID :进程 ID、USER:进程所有者的用户名、NI:用户名、VIRT:进程使用的虚拟内存、RES:进程使用的物理内存大小、SHR:共享内存大小(kb)、S:进程状态、
    %CPU:CPU 距离上次查询占用的百分比、%MEM:进程使用的物理内存百分比、TIME+:进程使用的 CPU 时间、COMMAND 进程的别名

2、dstat 
a、命令解析
  -l       显示负载统计量
  -m       显示内存使用率(包括used,buffer,cache,free值)
  -r       显示I/O统计
  -s       显示交换分区使用情况
  -t       将当前时间显示在第一行
  –fs     显示文件系统统计数据(包括文件总数量和inodes值)
  –nocolor      不显示颜色(有时候有用)
  –socket       显示网络统计数据
  –tcp          显示常用的TCP统计
  –udp          显示监听的UDP接口及其当前用量的一些动态数据
  --disk-util    显示某一时间磁盘的忙碌状况
  --freespace    显示当前磁盘空间使用率
  --proc-count   显示正在运行的程序数量
  --top-bio      指出块I/O最大的进程
  --top-cpu      图形化显示CPU占用最大的进程
  --top-io       显示正常I/O最大的进程
  --top-mem      显示占用最多内存的进程
   
b、dstat 的简单使用:    
    root@Demon share]# dstat 1 10
    You did not select any stats, using -cdngy by default.
     ----total-cpu-usage---- -dsk/total- -net/total- ---paging-- ---system--
    usr sys idl wai hiq siq| read  writ| recv  send|  in   out | int   csw
   1   1  98   0   0   0|  34k   54k|   0     0 |   0     0 |  65   138
   1   1  98   0   0   0|   0     0 |   0     0 |   0     0 |  60   130
   0   1  99   0   0   0|   0     0 |   0     0 |   0     0 |  50    97
   1   0  99   0   0   0|   0     0 |   0     0 |   0     0 |  61    77
   1   2  97   0   0   0|   0     0 |   0     0 |   0     0 |  73   165
   0   0 100   0   0   0|   0     0 |   0     0 |   0     0 |  41   114
   2   1  97   0   0   0|   0    60k|   0     0 |   0     0 |  80   172
   1   1  98   0   0   0|   0     0 |   0     0 |   0     0 |  77   148
   1   1  98   0   0   0|   0     0 |   0     0 |   0     0 |  64   126
   0   0 100   0   0   0|   0     0 |   0     0 |   0     0 |  42    72
   1   2  97   0   0   0|   0     0 |   0     0 |   0     0 |  96   171

    它默认显示是分为 5 区域,第一个区域是用来看CPU 使用率,第二个区域是磁盘统计,第三个区域是网络统计,第四个区域是内存使用率,
    第五个区域是系统信息

3、iostat
a、iostat 命令解析(命令格式:iostat   [参数]  [时间]  [次数])
    -C 显示CPU使用情况
    -d 显示磁盘使用情况
    -k 以 KB 为单位显示
    -m 以 M 为单位显示
    -N 显示磁盘阵列(LVM) 信息
    -n 显示NFS 使用情况
    -p[磁盘] 显示磁盘和分区的情况
    -t 显示终端和CPU的信息
    -x 显示详细信息
    -V 显示版本信息
    
b、iostat 的使用:
root@Demon share]# iostat -x
Linux 2.6.32-431.el6.x86_64 (Demon)  2016年01月15日  _x86_64_ (1 CPU)

avg-cpu:  %user   %nice %system %iowait  %steal   %idle
           0.78    0.05    0.69    0.35    0.00   98.12

Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.29    11.12    0.95    1.11    61.44    97.82    77.58     0.12   60.40   2.81   0.58
scd0              0.00     0.00    0.00    0.00     0.02     0.00     8.17     0.00    0.56   0.56   0.00

    rrqm/s        每秒进行 merge 的读操作数目。即 delta(rmerge)/s
    wrqm/s      每秒进行 merge 的写操作数目。即 delta(wmerge)/s
    r/s              每秒完成的读 I/O 设备次数。即 delta(rio)/s
    w/s             每秒完成的写 I/O 设备次数。即 delta(wio)/s
    rsec/s        每秒读扇区数。即 delta(rsect)/s
    wsec/s       每秒写扇区数。即 delta(wsect)/s
    avgrq-sz    平均每次设备I/O操作的数据大小 (扇区)。即 delta(rsect+wsect)/delta(rio+wio)
    avgqu-sz   平均I/O队列长度。即 delta(aveq)/s/1000 (因为aveq的单位为毫秒)。
    await         平均每次设备I/O操作的等待时间 (毫秒)。即 delta(ruse+wuse)/delta(rio+wio)
    svctm        平均每次设备I/O操作的服务时间 (毫秒)。即 delta(use)/delta(rio+wio)
    %util          一秒中有百分之多少的时间用于 I/O 操作,或者说一秒中有多少时间 I/O 队列是非空的
相关文章
|
2月前
|
存储 前端开发 JavaScript
深入理解前端状态管理
【10月更文挑战第7天】深入理解前端状态管理
48 0
|
7月前
|
专有云 API 调度
管理实例状态
管理实例状态
42 3
|
7月前
|
JavaScript 测试技术
状态管理:集成 Vuex 进行全局状态管理
【4月更文挑战第22天】Vuex 是 Vue.js 的状态管理库,通过状态、mutations、actions 和 modules 等核心概念集中管理应用状态。创建 store,划分模块以增强代码维护性。mutations 同步改变状态,actions 处理异步逻辑。遵循 Vuex 规范,在组件中使用辅助函数访问状态。有效更新和处理错误,实现与其它工具集成,提升应用性能和可靠性。注意根据项目需求灵活使用,防止状态管理过度复杂。
58 2
|
7月前
|
专有云 API 调度
实例的管理状态
管理实例状态的常见操作及说明如下:
44 4
|
7月前
|
机器学习/深度学习 人工智能 安全
SentinelOne监测中隔离的文件,人工如何取消隔离
SentinelOne 的 Agent 在终端设备上实时监测系统的活动,包括文件操作、网络通信、内存访问等, SentinelOne 使用人工智能和机器学习技术对监测到的活动进行行为分析,识别潜在的威胁,包括已知的恶意软件和未知的零日攻击。 基于行为分析和实时监测,SentinelOne 快速识别出可能的威胁,并进行准确的威胁分类,包括病毒、勒索软件、恶意脚本等。 SentinelOne 可以自动采取响应措施,如隔离受感染的设备、终止恶意进程、删除恶意文件等,以尽快减轻威胁带来的影响。当技术人员发现隔离的文件没有危害时,可以手动隔离。文章阐述了怎么手动撤销的过程。
572 0
SentinelOne监测中隔离的文件,人工如何取消隔离
|
存储 Kubernetes Cloud Native
有状态的应用如何部署 1?
有状态的应用如何部署 1?
有状态的应用如何部署 1?
|
Java 程序员 调度
线程的创建方式,状态周期管理
进程是计算机中的程序,关于某数据集合上的一次运行活动,是系统进行资源分配和调度的基本单位,是操作系统结构的基础。
124 0
线程的创建方式,状态周期管理
|
前端开发
前端工作小结81-状态管理里面取值
前端工作小结81-状态管理里面取值
93 0
前端工作小结81-状态管理里面取值
|
JavaScript 前端开发 安全
状态管理请三思
最近我开始思考React应用的状态管理。我已经取得一些有趣的结论,并且在这篇文章里我会向你展示我们所谓的状态管理并不是真的在管理状态。
270 0
状态管理请三思