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.测试效果如下:

相关推荐
凉、介8 分钟前
Linux 设备驱动匹配机制
linux·笔记·单片机·学习·操作系统·嵌入式
卵男(章鱼)14 分钟前
第4章:软件架构与SOA
linux·车载系统·汽车
是摆烂第一名呀33 分钟前
【RK3506】RGB屏幕与背光调试记录
linux·arm开发·驱动开发·嵌入式硬件
qetfw41 分钟前
CentOS 7 搭建 DNS 主从服务
linux·运维·centos·dns·bind
JustNow_Man1 小时前
【Claude Code】 中给 Python + XML 项目建立可靠验证体系
xml·linux·python
CodeStats1 小时前
【Linux IO】从文件描述符到硬件中断:Linux IO 系统底层完全拆解
java·linux·开发语言·io·socket
日取其半万世不竭2 小时前
Palworld 服务器内存越跑越高?重启计划和存档保护怎么做
linux·运维·服务器·vps·幻兽帕鲁·palworld
kyle~2 小时前
Linux---Snap(隔离式Linux 软件分发范式)
linux·运维·网络
老约家的可汗2 小时前
Linux中基础IO
linux·服务器·算法