运维常用的命令

运维常用的命令

iostat

命令用来显示存储子系统的详细信息,通常用它来监控磁盘 I/O 的情况。要特别注意 iostat 统计结果中的 %iowait 值,太大了表明你的系统存储子系统性能低下。

Demo

iostat -d -x 5 3

参数命令解释

  • -d 显示设备利用率报告(d == disk)
  • -x 显示包括磁盘利用率的扩展统计信
  • 5 是取样间隔
  • 3 是总的取样次数

输出


Device:         rrqm/s   wrqm/s     r/s     w/s   rsec/s   wsec/s avgrq-sz avgqu-sz   await  svctm  %util
sda               0.30   310.59   16.98  165.66  2756.39  3809.99    35.95     0.22    1.19   0.49   8.98
dm-0              0.00     0.00    0.71    3.78    13.21    30.22     9.69     0.02    5.45   0.59   0.26
dm-1              0.00     0.00    0.03    0.06     0.26     0.50     8.00     0.01   54.49   0.22   0.00
dm-2              0.00     0.00   14.90  451.17  2589.13  3609.35    13.30     2.68    5.76   0.19   8.72
dm-3              0.00     0.00    0.00    0.00     0.01     0.00     8.00     0.00    1.37   0.65   0.00
dm-4              0.00     0.00    1.72   21.24   153.74   169.92    14.10     2.54  110.74   0.04   0.08

字段解释

  • rrqm/s 每秒排队等待到硬盘的读取请求数
  • wrqm/s 每秒排队等待到硬盘的写入请求数
  • r/s 每秒读取请求的数量
  • w/s 每秒写入请求数
  • rsec/s 从硬盘每秒读取的扇区数
  • wsec/s 写入每秒硬盘的扇区数
  • avgrq-sz 发给设备的请求的平均大小(以扇区为单位)
  • avgqu-sz 发送到设备的请求的平均队列长度
  • await 发给设备的I / O请求的平均时间(以毫秒为单位)。 这包括请求在队列中花费的时间以及为维护请求所花费的时间
  • svctm 发送到设备的I / O请求的平均服务时间(以毫秒为单位)
  • %util 向设备发出I / O请求的CPU时间百分比(设备的带宽利用率)。 当该值接近100%时发生器件饱和。

free

可让你获取内存的详细信息,你可以使用 cat 和 grep 命令来显示 meminfo 信息

demo

free -m

             total       used       free     shared    buffers     cached
Mem:         63598      63193        405          0        280       7961
-/+ buffers/cache:      54951       8647
Swap:        31863        137      31726

  • total:总计物理内存的大小。
  • used:已使用多大。
  • free:可用有多少。
  • Shared:多个进程共享的内存总额。
  • Buffers/cached:磁盘缓存的大小。

第三行(-/+ buffers/cached):

  • used:已使用多大。
  • free:可用有多少。

meminfo

cat /proc/meminfo

可让你获取内存的详细信息,你可以使用 cat 和 grep 命令来显示 meminfo 信息:

mpstat

mpstat是MultiProcessor Statistics的缩写,是实时系统监控工具。其报告与CPU的一些统计信息,这些信息存放在/proc/stat文件中。在多CPUs系统里,其不但能查看所有CPU的平均状况信息,而且能够查看特定CPU的信息。

demo

mpstat

inux 2.6.32-431.el6.x86_64 (mem_name)       2017年01月10日     _x86_64_        (32 CPU)

17时10分39秒  CPU    %usr   %nice    %sys %iowait    %irq   %soft  %steal  %guest   %idle
17时10分39秒  all    0.15    0.00    0.06    0.17    0.00    0.00    0.00    0.00   99.63

参数解读

mpstat [-P {|ALL}] [internal [count]]


-P {|ALL} 表示监控哪个CPU, cpu在[0,cpu个数-1]中取值

internal 相邻的两次采样的间隔时间

count 采样的次数,count只能和delay一起使用

当没有参数时,mpstat则显示系统启动以后所有信息的平均值。有interval时,第一行的信息自系统启动以来的平均信息

字段介绍:

  • user 在interval时间段里,用户态的CPU时间(%),不包含 nice值为负 进程 (usr/total)*100

  • nice 在interval时间段里,nice值为负进程的CPU时间(%) (nice/total)*100

  • system 在interval时间段里,核心时间(%) (system/total)*100

  • iowait 在interval时间段里,硬盘IO等待时间(%) (iowait/total)*100

  • irq 在interval时间段里,硬中断时间(%) (irq/total)*100

  • soft 在interval时间段里,软中断时间(%) (softirq/total)*100

  • idle 在interval时间段里,CPU除去等待磁盘IO操作外的因为任何原因而空闲的时间闲置时间(%)(idle/total)*100

  • intr/s 在interval时间段里,每秒CPU接收的中断的次数intr/total)*100

  • CPU总的工作时间=total_cur=user+system+nice+idle+iowait+irq+softirq

  • total_pre=pre_user+ pre_system+ pre_nice+ pre_idle+ pre_iowait+ pre_irq+ pre_softirq

  • user=user_cur – user_pre

  • total=total_cur-total_pre

netstat

显示了大量跟网络相关的信息,例如 socket 的使用、路由、接口、协议、网络等等,下面是一些常用的参数:

可以参考netstat教程

nmon

用以监控 Linux 系统的性能。Nmon 监控多个子系统的性能数据,例如处理器的使用率、内存使用率、队列、磁盘I/O统计、网络I/O统计、内存页处理和进程信息。Nmon 也提供了一个图形化的工具:

你可以在命令行中启动它,然后选择要监控的子系统,这些子系统都对应有一个快捷键,例如输入 c 可查看 CPU 信息,m用于查看内存,d用来查看磁盘信息等,你也可以使用 -f 命令将 nmon 的执行结果保存到一个 CSV 文件中,便于日后分析。

在每日的监控工作中,我发现 nmon 是我最常用的工具。

[图片上传失败...(image-e554b-1529163874942)]

pmap

查看进程内存使用状况

pmap PID 或者 #pmap [options] PID

  • -x extended显示扩展格式
  • -d device显示设备格式
  • -q quiet不显示header/footer行
  • -V 显示版本信息

ps

查看占用内存最大的前十个进程

demo

ps -aux --sort -pcpu,+pmem | head -n 10

可以搭配watch

watch -n 1 'ps -aux --sort -pmem, -pcpu | head 20'

sar

sar 该程序包含三个工具:sar 用来显示数据,sa1 和 sa2 用来收集数据并保存。sar 可用来显示 CPU 使用率、内存页数据、网络 I/O 和传输统计、进程创建活动和磁盘设备的活动详情。sar 和 nmon 最大的不同就是 sar 跟适合用作长期的监控,而 nmon 可以让你快速的了解系统当前状态。

strace

strace 经常被认为是程序员调试的工具,但不止如此。它可以记录进程进行系统调用的详情,因此它也是一个非常好的诊断工具,例如你可以使用它来找出某个程序正在打开某个配置文件。Strace 也有一个缺陷,但它在跟踪某个进程时会让该进程的性能变得非常差,因此请谨慎使用

tcpdump

Tcpdump 是一个简单、可靠的网络监控工具,用来做基本的协议分析,看看那些进程在使用网络以及如何使用网络

top

top 命令显示当前的活动进程,默认它是按消耗 CPU 的厉害程度进行排序,每5秒钟刷新一次列表,你也可以选择不同的排序方式,例如 m 是按内存占用方式进行排序的快捷键

vmstat

你可以使用 vmstat 来监控虚拟内存,一般 Linux 上的开发者喜欢使用虚拟内存来获得最佳的存储性能。该命令报告关于内核线程、虚拟内存、磁盘、陷阱和 CPU 活动的统计信息。由 vmstat 命令生成的报告可以用于平衡系统负载活动。系统范围内的这些统计信息(所有的处理器中)都计算出以百分比表示的平均值,或者计算其总和。

watch

是一个非常实用的命令,基本所有的 Linux 发行版都带有这个小工具,如同名字一样,watch 可以帮你监测一个命令的运行结果,省得你一遍遍的手动运行

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,992评论 6 493
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,212评论 3 388
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,535评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,197评论 1 287
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,310评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,383评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,409评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,191评论 0 269
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,621评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,910评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,084评论 1 342
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,763评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,403评论 3 322
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,083评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,318评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,946评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,967评论 2 351

推荐阅读更多精彩内容

  • 如果你想知道你的服务器正在做干什么,你就需要了解一些基本的命令,一旦你精通了这些命令,那你就是一个专业的 Linu...
    七寸知架构阅读 10,842评论 1 71
  • linux系统性能监视命令,经过百度谷歌,加上各渠道获得,查找到相关命令汇集,望能学有所收获 ...
    _王子_阅读 1,321评论 3 13
  • 这篇文章主要介绍一些常用的linux服务器性能监控命令,包括命令的常用参数、指标的含义以及一些交互操作。 几个问题...
    dancingking阅读 8,340评论 6 22
  • 在听“”王子“”分享的过程中刚好听到他曾做过性能方面的测试,事后向他请教,他把他在简书写的Linux服务器监控命...
    许小小晴阅读 724评论 0 0
  • 一元钱不能唤醒梦中的你 多少钱可以让你眼睛一亮 不用钱的珍贵总是被错过 ——广西贺州樊登书店•平子 2018.4....
    平子1阅读 52评论 0 0