• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            大龍的博客

            常用鏈接

            統(tǒng)計(jì)

            最新評(píng)論

            cat /sys/hypervisor/uuid 阻塞

            摘要:此帶Xen的內(nèi)核存在一個(gè)bug 能使cat /sys/hypervisor/uuid 阻塞,而使系統(tǒng)負(fù)載變高。
            rhels內(nèi)核版本:2.6.18-164.el5


            1.現(xiàn)在已經(jīng)證實(shí)這是rhels的一個(gè)bug,將這個(gè)bug進(jìn)行較為深入的分析后,發(fā)現(xiàn)這個(gè)bug很有意思:
            事情的來(lái)龍去脈估計(jì)是這樣的:
                  先要從MCE說(shuō)起。MCE(Machine Check Exception)是一類計(jì)算機(jī)硬件錯(cuò)誤,它發(fā)生在當(dāng)計(jì)算機(jī)的CPU偵測(cè)到硬件問(wèn)題時(shí)。MicroSoft 的windows通常會(huì)以藍(lán)屏來(lái)顯示這類錯(cuò)誤:
            STOP: 0x0000009C (0x00000004, 0x00000000, 0xB2000000, 0x00020151) "MACHINE_CHECK_EXCEPTION
            在Linux上,cpu通常會(huì)將這些信息寫(xiě)到kernel log中,有些時(shí)候如果這些硬件問(wèn)題不能得到修復(fù)的話也會(huì)將信息寫(xiě)到控制臺(tái)上(console screen)如:
            CPU 0: Machine Check Exception: 0000000000000004 Bank 2: f200200000000863 Kernel panic: CPU context corrupt
                  以上顯示的這類信息都是一些16進(jìn)制的地址,并不能給我們直觀的認(rèn)識(shí)。怎樣對(duì)這信息解碼是一個(gè)很大的問(wèn)題,當(dāng)然我們可以去咨詢CPU廠商,或是閱讀他們的 文檔。
                  在Linux下有一款軟件mcelog(軟件地址為/usr/sbin/mcelog,日志地址為/var/log/mcelog)是專門(mén)用來(lái)對(duì)以上的錯(cuò) 誤代碼進(jìn)行解碼的(decode)。
                  接下來(lái)就說(shuō)到問(wèn)題的正題上了。我們知道rhels也是有可能運(yùn)行在Xen虛擬環(huán)境下的,即作為DomainU來(lái)運(yùn)行,這時(shí)就不需要去運(yùn)行mcelog了, 因?yàn)樗旧砭驮谔摂M的硬件環(huán)境上,出了問(wèn)題也是軟件虛擬的問(wèn)題。從/etc/cron.hourly/mcelog.cron中可以看見(jiàn)系統(tǒng)開(kāi)發(fā)者的意 圖:

            #!/bin/bash

            if [ -e /proc/xen ] && [ `cat /sys/hypervisor/uuid` != "00000000-0000-0000-0000-000000000000" ]; then
                # this is a PV Xen guest.  Do not run mcelog.
                exit 1;
            else
                /usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog
            fi

                  系統(tǒng)開(kāi)發(fā)者的意圖是好的。但是,在全部默認(rèn)安裝rhels的時(shí)候,我們會(huì)將帶有xen的kernel安裝到機(jī)器上,而且此時(shí)的xend是不會(huì)自動(dòng)啟動(dòng)的, 即后面的`cat /sys/hypervisor/uuid`會(huì)阻塞。又由于這段代碼是寫(xiě)在/etc/cron.hourly中所以就會(huì)出現(xiàn)大量的`cat /sys/hypervisor/uuid`阻塞,而這時(shí)系統(tǒng)的負(fù)載(根據(jù)負(fù)載的定義)自然就上去了。
                
            2.問(wèn)題解決辦法
                  看完上面的分析,就知道怎么解決了。你可以將上面的關(guān)于PV Guest的監(jiān)測(cè)代碼刪掉(現(xiàn)在的系統(tǒng)就是這么干的)。或是添加更加嚴(yán)格的監(jiān)測(cè)代碼:
            #!/bin/sh
            xendstatus=`service xend status`
            if [ "$xendstatus"="xend is running" ]; then
                    if [ -e /proc/xen ] && [ `cat /sys/hypervisor/uuid` != "00000000-0000-0000-0000-000000000000" ]; then
                            # this is a PV Xen guest.  Do not run mcelog.
                            exit 1;
                    else
                            /usr/sbin/mcelog --ignorenodev --filter >> /var/log/mcelog
                    fi
            else
                    exit 1;
            fi
            或是有這樣的解決(基于半虛擬化的特點(diǎn)):
            if [ -e /proc/xen/capabilities ]; then
                #xen
                grep control_d /proc/xen/capabilities > & /dev/null
                if [$? -ne 0 ]; then
                    #domU -- do not run on xen PV guest
                    exit 1
                fi
            fi

            或者你不用帶用Xen的kernel來(lái)啟動(dòng)系統(tǒng)。
            方法很多,任由你選吧。
             
            參考目錄:
            http://en.wikipedia.org/wiki/Machine_Check_Exception
            https://bugzilla.redhat.com/show_bug.cgi?id=225203

            posted on 2011-09-21 20:10 大龍 閱讀(653) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

            # re: cat /sys/hypervisor/uuid 阻塞 2011-12-25 10:57 劉華

            謝謝了,這篇文檔對(duì)我很有用,一樣的問(wèn)題。  回復(fù)  更多評(píng)論   


            只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。
            網(wǎng)站導(dǎo)航: 博客園   IT新聞   BlogJava   博問(wèn)   Chat2DB   管理


            久久久久久亚洲AV无码专区| 久久人人超碰精品CAOPOREN | 久久91综合国产91久久精品| 国产69精品久久久久777| 精品无码久久久久久国产| 亚洲精品无码成人片久久| 品成人欧美大片久久国产欧美...| 波多野结衣久久一区二区 | 久久精品成人免费观看97| 97精品伊人久久久大香线蕉| 中文精品久久久久国产网址| 思思久久精品在热线热| 国内精品久久久久久久亚洲| 久久婷婷成人综合色综合| 久久婷婷五月综合成人D啪 | 色偷偷91久久综合噜噜噜噜| 97久久精品无码一区二区天美| 三级韩国一区久久二区综合 | 久久精品国产亚洲Aⅴ蜜臀色欲| 久久国产高潮流白浆免费观看| 亚洲国产成人精品91久久久| 日本三级久久网| 99久久久国产精品免费无卡顿| 欧美成人免费观看久久| 久久精品国产WWW456C0M| 国产午夜福利精品久久2021 | 久久久噜噜噜久久| 久久线看观看精品香蕉国产| 久久久久亚洲av无码专区| 性色欲网站人妻丰满中文久久不卡 | 久久人人超碰精品CAOPOREN| 久久免费美女视频| 久久99中文字幕久久| 久久午夜伦鲁片免费无码| 久久婷婷五月综合成人D啪| 欧美午夜A∨大片久久 | 伊人久久综在合线亚洲2019| 99久久中文字幕| 国产精品久久久久久福利漫画| 久久亚洲国产成人精品性色| 久久夜色精品国产噜噜麻豆 |