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

相关推荐
大G哥1 小时前
python 数据类型----可变数据类型
linux·服务器·开发语言·前端·python
BillKu2 小时前
Linux设置Nginx开机启动
linux·运维·nginx
baidu_375528812 小时前
光感传感器 芯片stk3171 linux驱动程序
linux·运维·服务器
飞腾开发者2 小时前
飞腾平台Arm NN软件栈安装使用指南
linux·运维·人工智能·机器学习·计算机视觉
鸠摩智首席音效师2 小时前
.NET Core 应用程序如何在 Linux 中创建 Systemd 服务 ?
linux·运维·.netcore
不是三毛没有半3 小时前
Centos 7 安装wget
linux
叫我龙翔4 小时前
【计网】实现reactor反应堆模型 --- 多线程方案优化 ,OTOL方案
linux·运维·网络
mit6.8244 小时前
[Docker#9] 存储卷 | Volume、Bind、Tmpfs | -v/mount | MySQL 灾难恢复 | 问题
linux·运维·docker·容器·架构
WangYaolove13144 小时前
请解释Python中的装饰器是什么?如何使用它们?
linux·数据库·python