Iotop使用

文章目录

Iotop依赖及编译

源码路径:https://github.com/Tomas-M/iotop#how-to-build-from-source (GitHub - Tomas-M/iotop: A top utility for IO)

1:内核配置

在编译内核make menuconfig的时候一定要把下面选项选上:

General setup ---> CPU/Task time and stats accounting ->

+\] Export task/process statistics through netlink \[+\] Enable per-task delay accounting \[+\] Enable extended accounting over taskstats \[+\] Enable per-task storage I/O accounting +CONFIG_TASKSTATS=y +CONFIG_TASK_DELAY_ACCT=y +CONFIG_TASK_XACCT=y +CONFIG_TASK_IO_ACCOUNTING=y +CONFIG_SCHED_INFO=y ## 2: 环境配置 在执行iotop出现 Error opening terminal: vt102,请继续往下看: 在板子上如下操作/etc/profile加入 export TERM=vt100 export TERMINFO=/usr/share/terminfo mkdir /usr/share/terminfo/v -p 然后copy自己的pc主机上的 /usr/share/terminfo/v/vt100 到板子上的/usr/share/terminfo/v/目录下 ## 3.依赖库ncurses 源码路径:https://invisible-island.net/ncurses/ncurses.html#download_ncurses ### 3.1 Ncurses的编译配置 ./configure --with-shared --without-debug --with-ticlib --disable-stripping --host=aarch64-linux-gnu CC=aarch64-linux-gnu-gcc --prefix="$PWD/.../libncurses" 然后make \&\& make install.libs \&\& make install.lncludes 然后使用服务器的gcc 在全编译一次 能够生成terminfo 把这里的v/vt100保存下来 ## 4. Iotop的编译及修改 需要修改Makefile,然后需要将Ncurses的成果物放到iotop的跟目录 ```c INCLUDES := ./include 新增 CC=aarch64-linux-gnu-gcc 新增 # PKG_CONFIG?=pkg-config # NCCC?=$(shell $(PKG_CONFIG) --cflags ncursesw) # NCLD?=$(shell $(PKG_CONFIG) --libs ncursesw) # ifeq ("$(NCLD)","") # NCCC:=$(shell $(PKG_CONFIG) --cflags ncurses) # NCLD:=$(shell $(PKG_CONFIG) --libs ncurses) # endif # ifeq ("$(NCLD)","") # NCCC:= # NCLD:=-lncursesw # endif CFLAGS += -L ./lib/ -Bstatic -lncurses 新增 CFLAGS += $(addprefix -I,$(INCLUDES)) 新增 ``` ## 5.测试效果如下: ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/61715e38bf524f25b2c50a9cacdcda40.png)

相关推荐
egoist202310 分钟前
【Linux仓库】超越命令行用户:手写C语言Shell解释器,解密Bash背后的进程创建(附源码)
linux·c语言·bash·xshell·环境变量·命令行参数·内建命令
Lenyiin10 分钟前
《 Linux 修炼全景指南: 八 》别再碎片化学习!掌控 Linux 开发工具链:gcc、g++、GDB、Bash、Python 与工程化实践
linux·python·bash·gdb·gcc·g++·lenyiin
莲华君13 分钟前
Bash Shell:从入门到精通
linux
风雨飘逸14 分钟前
【shell&bash进阶系列】(二十一)向脚本传递参数(shift和getopts)
linux·运维·服务器·经验分享·bash
zly350019 分钟前
删除文件(rm 命令 删除目录)
linux·运维·服务器
被AI抢饭碗的人22 分钟前
linux:线程池
linux·开发语言
Studying 开龙wu1 小时前
Linux 系统中配置国内源下载时使用pip install 和conda install哪个快?
linux·conda·pip
呱呱巨基1 小时前
Linux 进程控制
linux·c++·笔记·学习
代码游侠2 小时前
应用——MPlayer 媒体播放器系统代码详解
linux·运维·笔记·学习·算法
老兵发新帖2 小时前
ubuntu添加用户完整命令
linux·运维·ubuntu