欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

如何分析磁盤(pán)IO高的問(wèn)題排查過(guò)程

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)如何分析磁盤(pán)IO高的問(wèn)題排查過(guò)程,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

成都創(chuàng)新互聯(lián)公司服務(wù)項(xiàng)目包括蘭陵網(wǎng)站建設(shè)、蘭陵網(wǎng)站制作、蘭陵網(wǎng)頁(yè)制作以及蘭陵網(wǎng)絡(luò)營(yíng)銷(xiāo)策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,蘭陵網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到蘭陵省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

我們服務(wù)器搭建了cacti進(jìn)行監(jiān)控,一次通過(guò)查看磁盤(pán)IO圖像的時(shí)候,發(fā)現(xiàn)每天凌晨3:20-3:35的時(shí)候磁盤(pán)IO一下飆的很高,然后想知道到底是哪個(gè)進(jìn)程占用那么高的IO,下面是解決方法:

寫(xiě)個(gè)檢測(cè)腳本check_io_process.sh,當(dāng)磁盤(pán)IO占用高的時(shí)候進(jìn)行磁盤(pán)IO讀寫(xiě)進(jìn)程次數(shù)的檢測(cè):

#!/bin/bash
# Date: 2013/8/20
# Author: zhangkai
# Description: This script is used to check IO higher process.
# History:
iostat_log=/data/logs/iostat/iostat.log
dmesg_log=/data/logs/iostat/dmesg.log
dstat_log=/data/logs/iostat/dstat.log

if [ ! -d /data/logs/iostat ];then
mkdir -p /data/logs/iostat
fi

add(){
str=$@
sum=`echo ${str// /+}|bc -l`
}

iostat -x 1 5 > $iostat_log
idle_percent=`cat $iostat_log | awk 'BEGIN{flag=0} {if(flag ==1){print $12; flag=0;} if (index($0, "%util" ))  {flag = 1;}}'`

add $idle_percent

#求5次查詢IO占用率的平均值

avg=`echo $sum/5|bc`

if [[ $avg -ge 70 ]];then
echo 1 > /proc/sys/vm/block_dump
echo "-----------------------------------------------" >> $dmesg_log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $dmesg_log
python /data/dmesg_io.py >> $dmesg_log

echo "-----------------------------------------------" >> $dstat_log
echo `date "+%Y-%m-%d %H:%M:%S"` >> $dstat_log
dstat -d --top-bio 1 10 >> $dstat_log
echo 0 > /proc/sys/vm/block_dump
 fi

其中該shell腳本調(diào)用了檢測(cè)磁盤(pán)IO讀寫(xiě)進(jìn)程次數(shù)的python腳本,下面是dmesg_io.py的代碼:

#!/usr/bin/python
# Monitoring per-process disk I/O activity
# written by http://www.vpsee.com

import sys, os, time, signal, re

class DiskIO:
def __init__(self, pname=None, pid=None, reads=0, writes=0):
self.pname = pname
self.pid = pid
self.reads = 0
self.writes = 0

def main():
argc = len(sys.argv)
if argc != 1:
print "usage: ./iotop"
sys.exit(0)

if os.getuid() != 0:
print "must be run as root"
sys.exit(0)

signal.signal(signal.SIGINT, signal_handler)
os.system('echo 1 > /proc/sys/vm/block_dump')
print "TASK  PID  READ  WRITE"
#  while True:
os.system('dmesg -c > /tmp/diskio.log')
l = []
f = open('/tmp/diskio.log', 'r')
line = f.readline()
while line:
m = re.match(\
'^(\S+)\((\d+)\): (READ|WRITE) block (\d+) on (\S+)', line)
if m != None:
if not l:
l.append(DiskIO(m.group(1), m.group(2)))
line = f.readline()
continue
found = False
for item in l:
if item.pid == m.group(2):
found = True
if m.group(3) == "READ":
item.reads = item.reads + 1
elif m.group(3) == "WRITE":
item.writes = item.writes + 1
if not found:
l.append(DiskIO(m.group(1), m.group(2)))
line = f.readline()
time.sleep(1)
for item in l:
print "%-10s s d d" % \
(item.pname, item.pid, item.reads, item.writes)

def signal_handler(signal, frame):
os.system('echo 0 > /proc/sys/vm/block_dump')
sys.exit(0)

if __name__=="__main__":
main()

發(fā)現(xiàn)在3:20-3:35的日志如下(僅列出部分):

[root@localhost iostat]# cat dmesg.log

-----------------------------------------------

2013-08-22 03:23:06
TASK  PID  READ  WRITE
updatedb  18661  2951  0
kjournald  804  0  525
kjournald  1826  0  576

-----------------------------------------------
2013-08-22 03:24:05
TASK  PID  READ  WRITE
updatedb  18661  3007  0
kjournald  804  0  238
kjournald  1826  0  112
flush-8:0  11687  0  18
-----------------------------------------------
2013-08-22 03:25:05
TASK  PID  READ  WRITE
updatedb  18661  2689  0
kjournald  804  0  229
kjournald  1826  0  44

說(shuō)明是updatedb這進(jìn)程惹的禍,google查之,這個(gè)是由[cron]自動(dòng)運(yùn)行的更新系統(tǒng)數(shù)據(jù)的腳本。
其作用是為你系統(tǒng)里面的文件建立索引,以便于locate和whereis等查詢命令的能夠快速執(zhí)行

而我們服務(wù)器/data/目錄每天會(huì)產(chǎn)生大量的小文件,導(dǎo)致建立索引的時(shí)候占用很高的磁盤(pán)IO

服務(wù)器每天定時(shí)對(duì)硬盤(pán)上的文件進(jìn)行索引,簡(jiǎn)單的說(shuō)就是建立一個(gè)數(shù)據(jù)庫(kù),把所有文件目錄信息存放到這個(gè)庫(kù)里面,當(dāng)使用whereis和locate命令搜索文件時(shí),它直接到這個(gè)數(shù)據(jù)庫(kù)中讀取數(shù)據(jù)。而不是像find一樣在硬盤(pán)上找文件。Whereis搜索一個(gè)文件幾乎只要幾秒鐘就可以搞定,而find需要花費(fèi)幾分鐘或者更長(zhǎng)時(shí)間。updatedb.Conf使搜索的效率提高了很多倍。但是有缺點(diǎn),它每天都需要索引更新,這會(huì)導(dǎo)致IO負(fù)載過(guò)高,因?yàn)椴皇菚r(shí)時(shí)更新,所以會(huì)出現(xiàn)搜索到已經(jīng)刪除的文件,搜不出新添加的文件,平時(shí)管理中我們很少用到。如果文件數(shù)量多而且更新平凡,我們大可把這個(gè)功能關(guān)閉

優(yōu)化方法:

1.停止對(duì)/data目錄進(jìn)行建立索引操作

vim /etc/updatedb.conf

找到PRUNEPATHS,在后面添加上你不想讓這個(gè)updatedb建立索引的目錄

2.設(shè)置定時(shí)更新的工作頻率從每天一次降低到每周執(zhí)行一次,命令如下:

mv /etc/cron.daily/mlocate.cron /etc/cron.weekly/
當(dāng)然如果你服務(wù)器用不著建立索引,也可以直接移除

上述就是小編為大家分享的如何分析磁盤(pán)IO高的問(wèn)題排查過(guò)程了,如果剛好有類(lèi)似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

當(dāng)前題目:如何分析磁盤(pán)IO高的問(wèn)題排查過(guò)程
文章位置:http://aaarwkj.com/article28/gppdcp.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站策劃、云服務(wù)器、自適應(yīng)網(wǎng)站、企業(yè)建站、響應(yīng)式網(wǎng)站虛擬主機(jī)

廣告

聲明:本網(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í)需注明來(lái)源: 創(chuàng)新互聯(lián)

網(wǎng)站優(yōu)化排名
国产午夜三级视频在线观看| 精品在欧美一区二区少妇| 午夜美女精品福利视频| 国产麻豆精品二区视频| 高清不卡日本一区二区三区久久| 亚洲天堂福利视频网站| 日本加勒比一道本东京热| 国产成人精品无人区一区| 成熟人妻一区二区三区人妻| 人妻一区二区免费视频| 国产精品九九久久精品女同| 亚洲欧美日韩校园春色| 免费高清视频一区二区在线观看| 欧美颜射一区二区三区| 久久精品亚洲熟女av蜜謦| 亚洲欧美综合区丁香六月| 日韩黄色精品中文视频| 亚洲欧美综合精品二区| 一本在线不卡中文字幕| 91麻豆精品国产91久| 国产av综合一区二区| 亚洲欧美av中文日韩二区| 国产免费av一区二区在线观看| 欧美日韩亚洲中文综合网| 99精品国产高清一区二区三区 | 午夜啪视频免费在线观看| 男人一插就想射的原因| 成年人在线观看免费观看| 夜夜嗨精品免费视频播放| 免费精品99久久久国产| 午夜视频免费在线观看| 少妇人妻精品一区三区二区| 九九在线免费视频蜜臀| 变态另类日韩欧美高清| 亚洲精品一区二区三区不卡| 亚洲综合欧美日韩一区| 国产精品久久一区二区三区蜜桃| 亚洲一区二区三区色偷偷| 夫妻性生活视频全过程| 禁区正片免费看完整国产 | 亚洲女同在线免费观看|