• <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)是專門用來(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 大龍 閱讀(656) 評(píng)論(1)  編輯 收藏 引用

            評(píng)論

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

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

            久久精品国产亚洲av麻豆色欲| 91精品国产色综久久| 99久久香蕉国产线看观香| 亚洲美日韩Av中文字幕无码久久久妻妇 | 久久天天躁夜夜躁狠狠| 人妻无码αv中文字幕久久 | 午夜视频久久久久一区| 99久久精品国产一区二区| 欧美一区二区三区久久综| 久久免费线看线看| 无码任你躁久久久久久老妇| 国产精品女同久久久久电影院| 办公室久久精品| 久久综合久久自在自线精品自| 国产精品综合久久第一页| 波多野结衣AV无码久久一区| 色综合久久最新中文字幕| 狠狠色婷婷久久综合频道日韩| 91久久九九无码成人网站| 99久久国产精品免费一区二区| 国产成人精品综合久久久| 漂亮人妻被黑人久久精品| 亚洲欧美另类日本久久国产真实乱对白| 麻豆亚洲AV永久无码精品久久| 免费一级欧美大片久久网| 伊人色综合久久天天| 99久久久精品免费观看国产| 久久久www免费人成精品| 亚洲精品成人久久久| 久久精品亚洲精品国产欧美| 久久久精品人妻一区二区三区四| 久久久久久综合网天天| 国产精品久久婷婷六月丁香| 色婷婷噜噜久久国产精品12p| 国产精品免费看久久久香蕉| 日本精品久久久中文字幕| 国产亚洲婷婷香蕉久久精品| 国产成人精品久久一区二区三区 | 亚洲一本综合久久| 99久久99久久精品国产片果冻| 麻豆精品久久久一区二区|