centos 没有iostat(centos8挂载本地iso文件)

老铁们,大家好,相信还有很多朋友对于centos 没有iostat和centos8挂载本地iso文件的相关问题不太懂,没关系,今天就由我来为大家分享分享centos 没有iostat以及centos8挂载本地iso文件的问题,文章篇幅可能偏长,希望可以帮助到大家,下面一起来看看吧!

解决centos7.2中磁盘iowait过高(centos7启动后盘符错位问题)

(一)简述

每天都收到磁盘iowait告警信息,尤其是日志服务器在进行大量的读写操作过程中,从而造成系统处于崩溃边缘,为查找磁盘iowait由于什么原因造成的以及后续的系统的优化点。centos有许多查找问题的工具,也有高级的。

I/O Wait就是一个需要使用高级的工具来debug的问题,当然也有许多基本工具的高级用法。I/O wait的问题难以定位的原因是因为我们有很多工具可以告诉你说I/O受限了,但是并没有告诉你具体是哪些进程们引起的。

具体的思路如下:top。查看由cpu一行浪费在iowait上的cpu百分比=iostat-x 2 5查看某块磁盘正在被写入= iotop查找最高的磁盘I/O对应的进程= lsof-p pid查看通过一个进程打开所有文件或打开一个文件的所有进程。

(二)具体步骤如下:

(1)通过top命令来确认是否是I/O导致系统缓慢。

[root@iZ23iod5vslZ~]# toptop- 15:38:32 up 40 days, 5:59, 3 users, load average: 0.00, 0.01, 0.05Tasks: 128 total, 1 running, 127 sleeping, 0 stopped, 0 zombieCpu(s): 0.4 us, 0.2 sy, 0.0 ni, 99.2 id, 98 wa, 0.0 hi, 0.0 si, 0.1 stKiB Mem: 32520424 total, 31492136 used, 1028288 free, 412772 buffersKiB Swap: 0 total, 0 used, 0 free. 25902892 cached Mem PID USER PR NI VIRT RES SHR S CPU MEM TIME+ COMMAND 18988 root 20 0 11.647g 3.611g 7896 S 2.7 11.6 507:57.30 java 28 root 20 0 0 0 0 S 0.3 0.0 6:43.31 rcuos/3 1 root 20 0 49556 3412 1912 S 0.0 0.0 0:14.60 systemd 2 root 20 0 0 0 0 S 0.0 0.0 0:00.01 kthreadd 3 root 20 0 0 0 0 S 0.0 0.0 0:48.28 ksoftirqd/0 5 root 0-20 0 0 0 S 0.0 0.0 0:00.00 kworker/0:0H 7 root rt 0 0 0 0 S 0.0 0.0 0:00.83 migration/0 8 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcu_bh 9 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/0 10 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/1 11 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/2 12 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/3 13 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/4 14 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/5 15 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/6 16 root 20 0 0 0 0 S 0.0 0.0 0:00.00 rcuob/7

从Cpu一行我们可以看到浪费在I/O Wait上的CPU百分比;这个数字越高说明越多的CPU资源在等待I/O权限.具体的解释如下:

0.4 us用户空间占用CPU的百分比。

0.2 sy内核空间占用CPU的百分比。

0.0 ni改变过优先级的进程占用CPU的百分比

2 id空闲CPU百分比

98 wa IO等待占用CPU的百分比

0.0 hi硬中断(Hardware IRQ)占用CPU的百分比

0.0 si软中断(Software Interrupts)占用CPU的百分比

在这里CPU的使用比率和windows概念不同,如果你不理解用户空间和内核空间,需要充充电了

(2)通过iostat-x 3 3查看那块磁盘正在被写入。

[root@iZ23iod5vslZ~]# iostat-x 3 3Linux 3.10.0-123.9.3.el7.x86_64(iZ23iod5vslZ) 08/14/2017 _x86_64_(4 CPU)avg-cpu: user nice system iowait steal idle 0.70 0.00 0.16 0.75 0.05 98.34Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 21.18 0.32 18.33 9.94 195.06 21.98 0.08 4.11 11.44 3.98 1.54 2.88xvdb 0.00 15.21 1.23 1.98 38.41 68.76 66.70 0.08 25.48 3.59 39.10 1.09 0.35xvdc 0.00 0.07 0.00 0.91 0.00 36.25 79.43 0.10 106.88 12.53 106.92 1.33 0.12avg-cpu: user nice system iowait steal idle 0.75 0.00 0.17 0.08 0.08 98.91Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 2.33 0.00 0.67 0.00 12.00 36.00 0.00 5.50 0.00 5.50 5.50 0.37xvdb 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00xvdc 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00 0.00avg-cpu: user nice system iowait steal idle 0.75 0.00 0.17 0.00 0.00 99.08Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm utilxvda 0.00 3.33 0.00 1.67 0.00 34.67 41.60 0.01 3.00 0.00 3.00 1.60 100.27xvdb 0.00 9.00 0.00 1.67 0.00 42.67 51.20 0.01 5.40 0.00 5.40 1.80 0.30xvdc 0.00 0.33 0.00 0.67 0.00 4.00 12.00 0.00 2.00 0.00 2.00 2.00 0.13

每隔三秒更新一次,一共打印了三次。-x时打印出扩展选项。第一次打印的信息可以被忽略,剩下的报告,都是基于上一次间隔的时间打印出来。

上述的列子中xvda的 util(利用率)是100.27,有进程往磁盘中写入数据。

(3)通过iotop查找高I/O对应的进程

[root@iZ23iod5vslZ~]# iotopTotal DISK READ: 0.00 B/s| Total DISK WRITE: 15.67 K/sActual DISK READ: 0.00 B/s| Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO COMMAND 18793 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start18987 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 cronolog/guojinbao/tomcat/logs/catalina.Y-m-d.out18796 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start13193 be/4 root 0.00 B/s 3.92 K/s 0.00 0.00 java-Djava.util.logging.config.file=/usr/to~p org.apache.catalina.startup.Bootstrap start 1 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 systemd--switched-root--system--deserialize 22 2 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [kthreadd] 3 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [ksoftirqd/0]16388 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 AliYunDun 5 be/0 root 0.00 B/s 0.00 B/s 0.00 0.00 [kworker/0:0H]16390 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 AliYunDun 7 rt/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [migration/0] 8 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcu_bh] 9 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/0] 10 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/1] 11 be/4 root 0.00 B/s 0.00 B/s 0.00 0.00 [rcuob/2]

从上述的例子中可以看出进程号为cronolog18987占用了大量的磁盘IO

(4)通过lsof-p pid查找由那个文件引起的IOwait

[root@iZ23iod5vslZ~]# lsof-p 18987COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAMEcronolog 18987 root cwd DIR 202,17 20480 2400258/guojinbao/tomcat/logscronolog 18987 root rtd DIR 202,1 4096 2/cronolog 18987 root txt REG 202,1 48627 152798/usr/local/sbin/cronologcronolog 18987 root mem REG 202,1 2107600 132826/usr/lib64/libc-2.17.socronolog 18987 root mem REG 202,1 160240 132819/usr/lib64/ld-2.17.socronolog 18987 root 0r FIFO 0,8 0t0 42614018 pipecronolog 18987 root 1w CHR 1,3 0t0 1028/dev/nullcronolog 18987 root 2u CHR 136,0 0t0 3/dev/pts/0(deleted)cronolog 18987 root 3w REG 202,17 5704875979 2400280/guojinbao/tomcat/logs/catalina.2017-08-14.out

lsof命令可以展示一个进程打开的所有文件,或者打开一个文件的所有进程。从这个列表中,我们可以找到具体是什么文件被写入,根据文件的大小和/proc中io文件的具体数据.

为了确认我们的怀疑,我们可以使用/proc文件系统,每个进程目录下都有一个叫io的文件,里边保存这和iotop类似的信息

[root@iZ23iod5vslZ~]# cat/proc/18987/io rchar: 58891582418wchar: 58891579778syscr: 46556085syscw: 46556077read_bytes: 212992write_bytes: 59580235776cancelled_write_bytes: 0

read_bytes和write_bytes是这个进程从磁盘读写的字节数。这个例子中cronolog读取了212992byte(0.2M)数据,写入了59580235776bytes(55.4G)数据到磁盘上。

(5)通过df-h/guojinbao来查看服务器那块磁盘的根目录

[root@iZ23iod5vslZ~]# df-h/guojinbao/Filesystem Size Used Avail Use Mounted on/dev/xvdb1 45G 38G 4.7G 89/guojinbao

最后,通过以上的信息我们可以放心的说lsof的结果就是我们要查找的文件

linuxdm-0满了linuxdm-0

centosdm-0如何进入?

我的:centos中dm-0进入方法是:

cd/

我的分析:

可以cd/dev/mapper查看dm-0的映射关系,应该查看到是cl-root映射到了dm-0。

或者执行dmsetupls命令及dmsetupinfo命令查看到dm-0设备映射到的LV:cl-root

通过lsblk命令可以查看到cl-root的逻辑分区,对应的盘符是/。

所以dm-0对应的是Linux系统的根目录,执行cd/即可进入dm-0设备。

linux常用的系统工具?

Linux用户常用的10个工具,其中包括网络监控、系统审计或其它有用命令,这10个Linux工具可以帮助大家提高工作和使用效率,非常实用。分别如下:

1.w

对,你没看错,就是w命令。使用该命令我们可以查看到当前登录系统的用户是谁,以及执行了哪些命令。

2.nmon

Nmon是一个可以监控当前系统性能的小工具,使用之前需要先用如下命令进行安装:

sudoapt-getinstallnmon

安装好后执行nmon命令即可打开:

nmon

nmon可以查看网络、CPU、内存和磁盘的使用情况。

打开之后按c查看CPU信息:

打开之后按n查看网络信息:

磁盘空间监控(磁盘使用率)是IT运维管理中十分重要的监控项目之一,主要监控计算机的逻辑磁盘空间使用率,在一些较大增长率的系统(比如Oracle表空间的分区、访问日志记录分区等)中对磁盘空间的监控显得十分重要。

哲涛SUM服务器监控软件可以对Windows的磁盘空间、Linux的磁盘空间、AIX的磁盘空间、Solaris的磁盘空间、HP-UNIX的磁盘空间、FreeBSD的磁盘空间以及任何GNULinux版本的磁盘空间进行监控。SUM服务器监控软件中磁盘空间监控主要包括磁盘空间使用率指标、磁盘已用空间、磁盘剩余空间以及磁盘总空间等的监控项目。

磁盘空间使用率监控-SUM服务器监控软件

3.ncdu

ncdu命令可以用来查看和分析Linux中各目录对磁盘空间占用情况的工具,请使用如下命令进行安装:

apt-getinstallncdu

安装好后执行如下命令即可从根目录开始分析:

ncdu/

注意:执行上述命令会占用大量磁盘I/O

分析完成后,会生成类似如下截图的输出:

我们可以在结果界面按n按名称进行排序或按s按大小进行排序。

SUM服务器监控软件对Linux的监控是SUM最基本的功能之一。

哲涛SUM服务器监控软件作为集中监控平台类软件,它对各种Linux操作系统可以进行集中、统一的监控,它主要对Linux的CPU使用率、内存使用率、磁盘空间使用、进程等进行统一的监控。在SUM服务器监控软件中,不仅可以对Linux系统基本性能进行监控,同时还可以对Linux一定的集中管理,比如执行Linux的命令、重启Linux服务器、重启某些进程等。

Linux监控、Linux服务器监控、LinuxCPU监控、Linux内存监控、Linux磁盘监控

4.slurm

slurm是一个网卡带宽监控命令行实用程序,它会自动生成ASCII图形输出。使用之前先用如下命令进行安装:

apt-getinstallslurm

使用如下命令进行输出:

slurm-i

slurm界面中可以执行如下选项:

◆I:显示lx/tx状态

◆c:切换到经典界面

◆r:手动刷新界面

◆q:退出工具

5.findmnt

Findmnt是一个Linux内置的命令行工具,它主要用于查找挂载的文件系统状态。Findmnt可以查看到当前系统中已挂载的设备,在必要时还可进行mount或unmount操作。

执行findmnt命令后会看到如下输入:

当然,还有如下参数可用:

◆findmnt-l:以列表方式进行输出

◆findmnt-s:输出fstab中挂载的设备

◆findmnt-text4:按文件系统类型进行输出

6.dstat

dstat是一个可以非常灵活使用和进行组合使用的工具,它可用于监控内存、进行、网络及磁盘性能,可用于替代ifstat、iostat、dmstat等工具。使用之前需先执行如下命令进行安装:

apt-getinstalldstat

执行如下命令可以看到所有监控数据:

dstat

其可选参数非常多,常用的有:

◆dstat-c:监控CPU

◆dstat-cdl-Dsda1:监控CPU详细信息

◆dstat-d:监控磁盘

7.saidar

saidar是另一个CLI系统数据监控和统计工具,可提供有关磁盘、网络、存储和SWAP的监控信息。使用之前需先使用如下命令进行安装:

sudoapt-getinstallsaidar

安装完成后可直接执行saidar进行输出,但我们通常使用带参数的命令生成带颜色输出:

saidar-c

8.ss

ss全称socketstatistics,是一个可以替代netstat的网络连接查看工具。

直接执行ss即可进行查看:

常用参数有:

ss-Atcp:指定查看协议

ss-ltp:显示进程名称和PID

9.ccze

ccze非常有用,它可以用不同颜色高亮日志,协助管理员进行区分和查看分析。使用之前需先使用如下命令进行安装:

apt-getinstallccze

我们可以使用类似如下方式进行使用:

tailf/var/log/syslog|ccze

而使用ccze-l参数可以查看其支持的日志类型。

10.ranwhen.py

我们最后介绍的ranwhen.py是一个python工具,它可以以图形方式显示系统活动。

要使用该工具需要先安装python语言支持:

sudo

apt-add-repositoryppa:fkrull/deadsnakes

sudoapt-getupdate

sudoapt-getinstallpython3.2

然后下载ranwhen.py

wget

unzipmaster.zipcdranwhen-master

使用如下命令即可执行ranwhen.py

python3.2ranwhen.py

为什么要在小米手机上刷magisk?

在小米手机上刷magisk是为了手机root。

Magisk是一套用于定制Android的开源工具,支持高于Android4.2的设备。涵盖了Android定制的基本部分:root、引导脚本、SELInux修补、移除AVB2.0/dm-verity/强制加密等。

Magisk开发者加入谷歌后首次发声:将继续维护项目,但无法再隐藏root权限。MagiskHide将被取消,同时官方的Magisk模块仓库也将被放弃,除此之外,用户可以本地安装模块。

CentOS系统中跟踪高IO等待详解

高IO等待问题的第一个征兆通常是系统平均负载。负载均衡的计算都是基于CPU利用率的,即使用或等待CPU的进程数目,当然,在Linux平台上,进程几乎都处于不可中断的睡眠状态。负载均衡的基线可以解释为,在一个CPU核的机器上上,该CPU得到充分利用。因此,对于4核机器中,如果系统平均复杂为 4,表示该机器有足够的资源来处理它需要做的工作,当然只是勉强。在相同的4核系统,如果平均复杂是8,那么以为这将意味着服务器系统需要8个core才能处理所要做的工作,但现在只有4个核,所以已经超载。

如果系统显示平均负载较高,但是CPU的系统(system)和用户(user)利用率较低,那么就需要观察IO等待(即IO wait)。在linuc系统上,IO wait对系统负载有较大的影响,主要因为一个或多个核都可能被磁盘IO或网络

发现进程在等待IO完成是一回事,验证高IO wait的原因是另一回事。使用”iostat–x 1”能够显示正在使用的物理存储设备的IO情况:

[username@server~]$ iostat-x 1

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm%util

cciss/c0d0 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66

cciss/c0d0p1 0.00 0.00 0.00 0.00 0.00 0.00 5.30 0.00 8.76 5.98 0.00

cciss/c0d0p2 0.00 0.00 0.00 0.00 0.00 0.00 58.45 0.00 7.79 3.21 0.00

cciss/c0d0p3 0.08 5.94 1.28 2.75 17.34 69.52 21.60 0.11 26.82 4.12 1.66

由上可知,很明显,设备/dev/cciss/c0d0p3的等待时间很长。然而,我们并没有挂载找个设备,实际上,它是个LVM设备。如果您使用的是 LVM作为存储,那么,您应该发现iostat应该有那么一点混乱。LVM使用device mapper子系统将文件系统映射到物理设备,因此,iostat可能显示多个设备,比如/ dev/dm-0和/ dev/dm-1。而”df–h”的输出却不会显示device mapper路径,而是打印了LVM路径。最简单的方法是在iostat参数中添加选项”-N”。

[username@server~]$ iostat-xN 1

Device: rrqm/s wrqm/s r/s w/s rsec/s wsec/s avgrq-sz avgqu-sz await svctm%util

vg1-root 0.00 0.00 0.09 3.01 0.85 24.08 8.05 0.08 24.69 1.79 0.55

vg1-home 0.00 0.00 0.05 1.46 0.97 11.69 8.36 0.03 19.89 3.76 0.57

vg1-opt 0.00 0.00 0.03 1.56 0.46 12.48 8.12 0.05 29.89 3.53 0.56

vg1-tmp 0.00 0.00 0.00 0.06 0.00 0.45 8.00 0.00 24.85 4.90 0.03

vg1-usr 0.00 0.00 0.63 1.41 5.85 11.28 8.38 0.07 32.48 3.11 0.63

vg1-var 0.00 0.00 0.55 1.19 9.21 9.54 10.74 0.04 24.10 4.24 0.74

vg1-swaplv 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 3.98 1.88 0.00

为简便起见,裁剪上面iostat命令的输出信息。列出的每个文件系统所显示出的IO等待都是不可接受的,观察第十栏标有“await”的数据。相比而言,文件系统/usr的await时间要高一些。我们先来分析一下这个文件系统,使用命令” fuser-vm/opt”查看哪些进程在访问这个文件系统,进程列表如下。

root@server:/root> fuser-vm/opt

USER PID ACCESS COMMAND

/opt: db2fenc1 1067....m db2fmp

db2fenc1 1071....m db2fmp

db2fenc1 2560....m db2fmp

db2fenc1 5221....m db2fmp

当前服务器上有112个DB2进程正在访问/opt文件系统,为简便起见,列出四项。看来已经找到导致问题的原因,在服务器上,数据库配置为可使用速度更快的SAN访问,操作系统可以使用的是本地磁盘。可以打电话问问DBA(数据库管理员)怎么做才能这样配置。

最后一个组要的注意的是LVM和device mapper。“Iostat–xN”命令的输出显示的是逻辑卷名,但它是可以通过命令”ls–lrt/ dev/mapper”查到映射关系表。输出信息的第六列中的dm-是与iostat中的设备名相对应的。

有时候,在操作系统或应用层是没有什么可以做的,除了选择速度更快的磁盘,并没有其他的选择。幸运的是,快速磁盘访问,如SAN或SSD的价格正在逐步下降。

阅读剩余
THE END