這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何解決Linux iowait問題,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
成都創(chuàng)新互聯(lián)成立以來不斷整合自身及行業(yè)資源、不斷突破觀念以使企業(yè)策略得到完善和成熟,建立了一套“以技術(shù)為基點(diǎn),以客戶需求中心、市場(chǎng)為導(dǎo)向”的快速反應(yīng)體系。對(duì)公司的主營項(xiàng)目,如中高端企業(yè)網(wǎng)站企劃 / 設(shè)計(jì)、行業(yè) / 企業(yè)門戶設(shè)計(jì)推廣、行業(yè)門戶平臺(tái)運(yùn)營、APP應(yīng)用開發(fā)、手機(jī)網(wǎng)站制作設(shè)計(jì)、微信網(wǎng)站制作、軟件開發(fā)、西部信息服務(wù)器托管等實(shí)行標(biāo)準(zhǔn)化操作,讓客戶可以直觀的預(yù)知到從成都創(chuàng)新互聯(lián)可以獲得的服務(wù)效果。
你在等什么?
IO等待與服務(wù)器上的CPU資源相關(guān)。
頂部命令輸出上的iowait列顯示處理器等待I/O完成的時(shí)間百分比。它表示系統(tǒng)正在等待磁盤或網(wǎng)絡(luò)IO。由于系統(tǒng)正在等待這些資源,因此無法充分利用CPU。
了解更多關(guān)于我在這里等待的內(nèi)容。
I/O等待是一個(gè)需要使用高級(jí)工具進(jìn)行調(diào)試的問題,當(dāng)然,基本工具有許多高級(jí)用途。
確定I/O問題是否導(dǎo)致系統(tǒng)減速
驗(yàn)證系統(tǒng)是否因I/O而變慢我們可以使用多個(gè)命令,但最簡(jiǎn)單的是UNIX命令top。
[[email protected] ~]# top top - 15:19:26 up 6:10, 4 users, load average: 0.00, 0.01, 0.05 Tasks: 147 total, 1 running, 146 sleeping, 0 stopped, 0 zombie %Cpu(s): 0.0 us, 0.3 sy, 0.0 ni, 99.7 id, 96.0 wa, 0.0 hi, 0.0 si, 0.0 st KiB Mem : 999936 total, 121588 free, 328672 used, 549676 buff/cache KiB Swap: 2097148 total, 2095792 free, 1356 used. 450460 avail Mem
從CPU行中,我們可以看到I/O等待上浪費(fèi)的CPU百分比;該數(shù)字越高,等待I/O權(quán)限的CPU資源就越多
wa -- iowait AmountoftimetheCPUhasbeenwaitingfor I/O to complete.
了解Linux Top中的CPU使用情況
查找正在寫入的磁盤
上面的top命令從整體上解釋了I/O等待,但沒有指出哪個(gè)磁盤受到影響,為了知道是哪個(gè)磁盤導(dǎo)致了問題,我們使用另一個(gè)命令I(lǐng)ostat命令。有關(guān)更多信息,請(qǐng)參閱這篇關(guān)于Linux中磁盤問題疑難解答的文章。
[[email protected] ~]# iostat -x 2 5 Linux 3.10.0-514.el7.x86_64 (localhost.localdomain) 2017年03月03日 _x86_64_ (1 CPU) avg-cpu: %user %nice %system %iowait %steal %idle 0.34 0.00 0.31 0.01 0.00 99.33 Device: rrqm/s wrqm/s r/s w/s rkB/s wkB/s avgrq-sz avgqu-sz await r_await w_await svctm %util sda 0.00 0.05 1.16 0.17 39.00 17.38 84.60 0.00 2.17 0.87 11.14 0.65 111.41 scd0 0.00 0.00 0.00 0.00 0.00 0.00 8.00 0.00 0.64 0.64 0.00 0.64 0.00 dm-0 0.00 0.00 1.10 0.20 37.85 17.21 84.71 0.00 2.43 0.90 10.88 0.66 0.09 dm-1 0.00 0.00 0.01 0.02 0.07 0.08 9.70 0.00 1.42 0.27 2.05 0.09 0.00
在上面的示例中,Iostat將每2秒更新一次,打印5次信息,并且-X的選項(xiàng)是打印擴(kuò)展信息
第一個(gè)Iostat報(bào)告在系統(tǒng)最后一次引導(dǎo)后打印統(tǒng)計(jì)信息,這意味著在大多數(shù)情況下,第一次打印的信息應(yīng)該被忽略,其余報(bào)告基于上一次間隔的時(shí)間。例如,此命令將打印5次,第二次報(bào)告是第一次報(bào)告的統(tǒng)計(jì)信息,第三次是基于第二次報(bào)告的統(tǒng)計(jì)信息,依此類推
在上面的示例中,SDA的利用率為111.41%,這很好地表明正在將進(jìn)程寫入SDA磁盤。
除了利用率%,我們還可以從iostat獲得更豐富的資源,例如每毫秒的讀/寫請(qǐng)求(rrqm/s&wrqm/s))、每秒的讀和寫(r/s&w/s),當(dāng)然還有更多。在上面的例子中,我們的項(xiàng)目似乎在讀寫大量的信息。這對(duì)于我們找到合適的流程非常有用。
查找導(dǎo)致高I/O等待的進(jìn)程
[[email protected] ~]# iotop Total DISK READ : 0.00 B/s | Total DISK WRITE : 0.00 B/s Actual DISK READ: 0.00 B/s | Actual DISK WRITE: 0.00 B/s TID PRIO USER DISK READ DISK WRITE SWAPIN IO> COMMAND 1028 be/4 root 0.00 B/s 0.00 B/s 0.00 % 0.00 % sshd
[[email protected] ~]# lsof -p 1028 COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME sshd 1028 root cwd DIR 253,0 233 64 / sshd 1028 root rtd DIR 253,0 233 64 / sshd 1028 root txt REG 253,0 819640 2393730 /usr/sbin/sshd sshd 1028 root mem REG 253,0 61752 180464 /usr/lib64/libnss_files-2.17.so sshd 1028 root mem REG 253,0 43928 180476 /usr/lib64/librt-2.17.so sshd 1028 root mem REG 253,0 15688 269136 /usr/lib64/libkeyutils.so.1.5 sshd 1028 root mem REG 253,0 62744 482870 /usr/lib64/libkrb5support.so.0.1 sshd 1028 root mem REG 253,0 11384 180425 /usr/lib64/libfreebl3.so sshd 1028 root mem REG 253,0 143352 180472 /usr/lib64/libpthread-2.17.so sshd 1028 root mem REG 253,0 251784 202440 /usr/lib64/libnspr4.so sshd 1028 root mem REG 253,0 20016 202441 /usr/lib64/libplc4.so sshd 1028 root mem REG 253,0 15768 202442 /usr/lib64/libplds4.so sshd 1028 root mem REG 253,0 182056 202443 /usr/lib64/libnssutil3.so sshd 1028 root mem REG 253,0 1220240 650074 /usr/lib64/libnss3.so sshd 1028 root mem REG 253,0 164048 650076 /usr/lib64/libsmime3.so sshd 1028 root mem REG 253,0 276752 650077 /usr/lib64/libssl3.so sshd 1028 root mem REG 253,0 121296 269112 /usr/lib64/libsasl2.so.3.0.0 sshd 1028 root mem REG 253,0 398264 202404 /usr/lib64/libpcre.so.1.2.0 sshd 1028 root mem REG 253,0 2116736 180446 /usr/lib64/libc-2.17.so sshd 1028 root mem REG 253,0 15848 202439 /usr/lib64/libcom_err.so.2.1 sshd 1028 root mem REG 253,0 202568 482862 /usr/lib64/libk5crypto.so.3.1 sshd 1028 root mem REG 253,0 959008 482868 /usr/lib64/libkrb5.so.3.3 sshd 1028 root mem REG 253,0 324888 482858 /usr/lib64/libgssapi_krb5.so.2.2 sshd 1028 root mem REG 253,0 110632 180474 /usr/lib64/libresolv-2.17.so sshd 1028 root mem REG 253,0 40640 180450 /usr/lib64/libcrypt-2.17.so sshd 1028 root mem REG 253,0 113152 180456 /usr/lib64/libnsl-2.17.so sshd 1028 root mem REG 253,0 90664 202424 /usr/lib64/libz.so.1.2.7 sshd 1028 root mem REG 253,0 14432 186432 /usr/lib64/libutil-2.17.so sshd 1028 root mem REG 253,0 61872 766946 /usr/lib64/liblber-2.4.so.2.10.3 sshd 1028 root mem REG 253,0 344280 766948 /usr/lib64/libldap-2.4.so.2.10.3 sshd 1028 root mem REG 253,0 19344 180452 /usr/lib64/libdl-2.17.so sshd 1028 root mem REG 253,0 2025472 482880 /usr/lib64/libcrypto.so.1.0.1e sshd 1028 root mem REG 253,0 23968 202508 /usr/lib64/libcap-ng.so.0.0.0 sshd 1028 root mem REG 253,0 155744 202421 /usr/lib64/libselinux.so.1 sshd 1028 root mem REG 253,0 61672 539049 /usr/lib64/libpam.so.0.83.1 sshd 1028 root mem REG 253,0 122936 202512 /usr/lib64/libaudit.so.1.0.0 sshd 1028 root mem REG 253,0 42520 298848 /usr/lib64/libwrap.so.0.7.6 sshd 1028 root mem REG 253,0 11328 568388 /usr/lib64/libfipscheck.so.1.2.1 sshd 1028 root mem REG 253,0 155064 180439 /usr/lib64/ld-2.17.so sshd 1028 root 0u CHR 1,3 0t0 5930 /dev/null sshd 1028 root 1u CHR 1,3 0t0 5930 /dev/null sshd 1028 root 2u CHR 1,3 0t0 5930 /dev/null sshd 1028 root 3u IPv4 21185 0t0 TCP *:ssh (LISTEN) sshd 1028 root 4u IPv6 21194 0t0 TCP *:ssh (LISTEN)
為了進(jìn)一步確認(rèn)這些文件經(jīng)常讀寫,我們可以使用以下命令查看它們
[[email protected] ~] # df / tmp File system 1K-block used available used% mount point / dev / mapper / cl-root 17811456 3981928 13829528 23% /
根據(jù)上述命令的結(jié)果,我們可以確定/tmp是我們環(huán)境的邏輯磁盤的根
[[email protected] ~]# pvdisplay --- Physical volume --- PV Name /dev/sda2 VG Name cl PV Size 19.00 GiB / not usable 3.00 MiB Allocatable yes (but full) PE Size 4.00 MiB Total PE 4863 Free PE 0 Allocated PE 4863 PV UUID 4QfaOy-DNSO-niK1-ayn2-K6AY-WZMy-9Nd2It
上述就是小編為大家分享的如何解決Linux iowait問題了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
網(wǎng)站名稱:如何解決Linuxiowait問題
轉(zhuǎn)載注明:http://muchs.cn/article34/ghjese.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設(shè)、定制網(wǎng)站、品牌網(wǎng)站建設(shè)、響應(yīng)式網(wǎng)站、網(wǎng)站維護(hù)、
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)