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
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】博客园社区专享云产品让利特惠,阿里云新客6.5折上折
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· [.NET]调用本地 Deepseek 模型
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· .NET Core 托管堆内存泄露/CPU异常的常见思路
· PostgreSQL 和 SQL Server 在统计信息维护中的关键差异
· C++代码改造为UTF-8编码问题的总结
· 一个费力不讨好的项目,让我损失了近一半的绩效!
· 清华大学推出第四讲使用 DeepSeek + DeepResearch 让科研像聊天一样简单!
· 实操Deepseek接入个人知识库
· CSnakes vs Python.NET:高效嵌入与灵活互通的跨语言方案对比
· Plotly.NET 一个为 .NET 打造的强大开源交互式图表库