诚捷手游网:专为(Android)安卓手机用户量身打造的安卓游戏、APK游戏下载平台!
网站地图
你的位置: 首页 > 游戏资讯 > 操作系统

linux性能调优命令精华

  • 2024-06-22 05:17:07
  • 来源:其他
  • 在手机上看

    扫一扫立即进入手机端

  一、 查看硬盘读取速度

  命令:hdparm -t /dev/sda5

  打印:Timing buffered disk reads: 254 MB in 3.01 seconds = 84.34 MB/sec

  说明:能够指定具体的哪块硬盘进行查询的哦!

  二、查找最耗iowait的进程

  操作步骤:

  1. /etc/init.d/syslog stop

  2. echo 1 > /proc/sys/vm/block_dump

  3. dmesg | egrep “READ|WRITE|dirtied“ | egrep -o '([a-zA-Z]*)' | sort | uniq -c | sort -rn | head

  不要忘记在抓完之后关掉block_dump和启动syslog

  4. echo 0 > /proc/sys/vm/block_dump

  5. /etc/init.d/syslog start

  三、iostat命令

  格式:iostat [ -c | -d ] [ -k ] [ -t ] [ -V ] [ -x [ device ] ] [ interval

  描述:iostat是I/O statistics(输入/输出统计)的缩写,iostat工具将对系统的磁盘操作活动进行监视。它的特点是汇报磁盘活动统计情况,同时也会汇报出 CPU使用情况。同vmstat一样,iostat也有一个弱点,就是它不能对某个进程进行深入分析,仅对系统的整体情况进行分析。

  参数:

  -c为汇报CPU的使用情况;

  -d为汇报磁盘的使用情况;

  -k表示每秒按kilobytes字节显示数据;

  -p显示所有存储设备分区信息。

  -t为打印汇报的时间;

  -v表示打印出版本信息和用法;

  -x device指定要统计的设备名称,默认为所有的设备;

  interval指每次统计间隔的时间;

  count指按照这个时间间隔统计的次数。

  输出信息:

  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

  rkB/s: 每秒读K字节数。是 rsect/s 的一半,因为每扇区大小为512字节。

  wkB/s: 每秒写K字节数。是 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 队列是 非空的。

  CPU:表示机器内所有的CPU;

  %user 表示CPU的利用率;

  %nice 表示CPU在用户层优先级的百分比,0表示正常;

  %system 表示当系统运行时,在用户应用层上所占用的CPU百分比;

  %iowait 表示请求硬盘I/0数据流出时,所占用CPU的百分比;

  %idle 表示空闲CPU百分比,值越大系统负载越低

  示例:

  avg-cpu: %user %nice %sys %iowait %idle

  0.88 0.00 0.29 0.60 98.24

  我发现IO处理这块所占用的CPU的百分比要比较高啊。因为我正在做的就是记日志处理与MV更改名称所以CPU比较高!

  示例:

  1、 iostat -d -k 1 10

  Device: tps kB_read/s kB_wrtn/s kB_read kB_wrtn

  sda 121.00 356.00 888.00 356 888

  sda1 0.00 0.00 0.00 0 0

  sda2 0.00 0.00 0.00 0 0

  sda3 0.00 0.00 0.00 0 0

  sda4 0.00 0.00 0.00 0 0

  sda5 243.00 356.00 888.00 356 888

  说明:

  -d 显示设备(磁盘)使用状态

  -k 某些使用block为单位的列强制使用kilobytes为单位

  Tps: 该设备每秒的传输次数(一次传输即一次IO请求)

  kB_read/s 每秒从设备读取的数据量

  kB_wrtn/s 每秒向设备写入的数据量

  kB_read 读取的总数据量

  kB_wrtn 写入的总数据量

  2、 iostat -d -x -k 1 10

  Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s rkB/s wkB/s avgrq-sz avgqu-sz await sv

  ctm %util

  sda 2.00 0.00 15.00 0.00 600.00 0.00 300.00 0.00 40.00 0.25 15.53 7

  .20 10.80

  说明:rrqm/s 每秒这个设备相关的读取请求有多少被merge了(当系统调用需要读取数据的时候VFS会将请求发到各个FS,

  如果FS发现不同的读取请求读取的相同BLOCK的数据FS会将请求作一次合并);wrqm/s 每秒这个设备相关的写入请求有多少被merge了。

  Rsec/s 每秒读取的扇区数;wsec/s每秒写入的扇区数 r/s

  await:每一个IO请求的处理的平均时间(单位为微秒)说明:一般系统的IO响应时间应该低于5ms如果大于10ms就比较大了!

  %util:在统计时间内所有处理IO时间/总共统计时间 这个参数说明了设备的繁忙程序。如果此参数到了100%说明此设备接近満负荷运行

  (如果是多磁盘即使到了100%因为有并发也未必达到了瓶颈)

  3、iostat -c 1 10

  输出:

  avg-cpu: %user %nice %sys %iowait %idle

  65.30 0.00 1.61 2.23 30.86

  能够用来获取CPU的性能数据!

  实例分析:

  1、iostat -d -k 1|grep sda5

  输出:

  sda5 7.48 17.44 22.41 527084575 677241228

  sda5 20.79 380.20 0.00 384 0

  sda5 132.65 367.35

游戏推荐

linux性能调优命令 linux性能调优命令精华
更多

手机游戏排行榜