centos安裝iotop


由於實驗中需要得到某個進程的io使用率,所以需要對進程的io進行 監控,目前比較方便有效的解決是使用iotop(對於內核版本在2.6.20 以上),開發的時候是在ubuntu上搞,內核版本很高,一切很順利,但部屬 的環境是centos,即便是Centos5.5的內核版本仍然是 2.6.18。就需要重新編譯內核。

安裝步驟如下:

一、編譯內核

    [1]下載內核:wgethttp://www.kernel.org/pub/linux/kernel/v2.6/linux-2.6.35.4.tar.bz2

    [2]解壓到/usr/src下:cp /當前目錄  /usr/src/

                                     cd /usr/src

                                tar -jxvflinux-2.6.35.4.tar.bz2

     [3]配置:make menuconfig

             把General setup——Enable per-task storage I/O accounting這個選項選上。

     

            修改.config文件

            vim .config

            將#CONFIG_SYSFS_DEPRECATED_V2 is not set的注釋去掉的,將其改為y。即修改為CONFIG_SYSFS_DEPRECATED_V2=y

   [4]編譯和安裝:

       makeCONFIG_DEBUG_SECTION_MISMATCH=y

      make modules

      make modules_install

       make install

  [5]修改initrd文件

      cp /boot/initrd-2.6.35.4.img /tmp

      cd /tmp/

      mkdir newinitrd

      cd newinitrd/

      zcat ../initrd-2.6.35.4.img |cpio -i

     vim init刪掉其中重復的四行中的兩行

         echo"Loading dm-region-hash.ko module"
        insmod /lib/dm-region-hash.ko
        echo "Loading dm-region-hash.ko module"
        insmod /lib/dm-region-hash.ko

     find .|cpio -c -o > ../initrd

    cd ..

     gzip -9 < initrd > initrd.img

     initrd.img就是重新打包的initrd了,然后把initrd.img拷貝到/boot

     mv /boot/initrd-2.6.35.4.img/boot/initrd-2.6.35.4.img.bak

     mv initrd.img /boot/initrd-2.6.35.4.img

  [6]修改配置和啟動

    cp /usr/src/linux-2.6.35.4/.config/boot/config-2.6.35.4

    修改默認以新的內核啟動

    vi /boot/grub/grub.conf 

       default=0

  [7]reboot

二、由於iotop要求python的版本在2.5以上,而centos安裝的版本是2.4則要重新安裝python

 [1]下載/安裝python 

下載Python2.6.5.tar.bz2(下載地址:http://www.python.org/ftp/python/2.6.5/Python-2.6.5.tar.bz2)

$tar jxvf  Python2.6.5.tar.bz2

$cd Python2.6.5

$./configure

$make && make install

自此,python2.6安裝后路徑默認是在/usr/local/lib/python2.6

查看Python版本:

$ /usr/local/bin/python2.6 -V

 

[2]建立軟連接,使系統默認的python指向python2.6

正常情況下即使python2.6安裝成功后,系統默認指向的python仍然是2.4.3版本,考慮到yum是基於python2.4.3才能正常工作,不敢輕易卸載。如何實現將系統默認的python指向到2.6版本呢?

mv /usr/bin/python  /usr/bin/python.bak

ln -s //usr/local/bin/python2.6 /usr/bin/python

檢驗python指向是否成功

python -V

[3] 解決系統python軟鏈接指向python2.6版本后,yum不能正常工作

方法:

$vi /usr/bin/yum

將文本編輯顯示的#/usr/bin/python修改為#/usr/bin/python2.4,保存修改即可

三、安裝iotop

       下載iotop  http://guichaz.free.fr/iotop/

   tar -xzvf iotop-0.4.2.tar.gz

       cd iotop-0.4.2

       python setup.py build
       python setup.py install

       安裝完成如下圖所示:

   

    

四、參考資料

IOTOP安裝  http://skyeydemon.blog.51cto.com/315899/201667

CentOS 5.5升級內核到2.6.35.4 http://kerry.blog.51cto.com/172631/398554

CentOS5.4上將Python版本升級到2.6.5http://diansummer.javaeye.com/blog/716364


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM