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

相关推荐
kidwjb19 分钟前
Linux内核-文件系统-文件系统目录和文件操作
linux·内核·文件系统
_艾伦 耶格尔.27 分钟前
进程控制
linux
寒水馨2 小时前
Linux下载、安装PowerShell-v7.6.4(附安装包powershell-7.6.4-linux-x64.tar.gz)
linux·跨平台·自动化运维·devops·命令行·powershell·脚本语言
lsh曙光2 小时前
scp和rsync远程同步
linux
Kina_C2 小时前
HAProxy 负载均衡算法全解析:从静态轮询到一致性哈希的实战指南
linux·算法·负载均衡·哈希算法·haproxy
~光~~2 小时前
【嵌入式linux学习_OV8858 bring up】L2_V4L2与Ov8858
linux·数据库·学习
Kina_C2 小时前
HAProxy 负载均衡实战:从安装配置到高级参数详解
linux·运维·负载均衡·haproxy
Zhang~Ling3 小时前
手写进程池:基于匿名管道的 Master-Slave 架构实战
linux·服务器·架构
wunaiqiezixin3 小时前
MIT 6.S081 syscall 实验篇(lab2):System call tracing (moderate)
linux·unix·os·xv6·mit6.s081
凉、介3 小时前
ARMv8-A 指令学习
linux·笔记·学习·嵌入式·arm·指令