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

相关推荐
zzzzzz31020 小时前
9K Star 炸裂开源!这个 C 语言写的代码知识图谱,把 Linux 内核索引压缩到了 3 分钟
linux·服务器·sql
XIAOHEZIcode20 小时前
Linux系统鼠标偏移常见原因以及修复方案
linux·运维·游戏
A小辣椒3 天前
TShark:Wireshark CLI 功能
linux
A小辣椒3 天前
TShark:基础知识
linux
AlfredZhao3 天前
OCI 明明分配了 200G 系统盘,为什么 df 只看到 30G?
linux·oci
AlfredZhao4 天前
vi 删除指定范围的行,不用再反复按 dd
linux·vi
用户9718356334664 天前
银河麒麟 KY10 申威(SW64) 安装 nginx-1.16.1-2.p01.ky10.sw_64.rpm 详细步骤
linux
猪脚踏浪4 天前
linux 拷贝文件或目录到指定的位置
linux
摇滚侠4 天前
Linux CentOS7 rpm 安装 MySQL 5.7
linux·运维·mysql
bush45 天前
嵌入式linux学习记录十四、术语
linux·嵌入式