系统管理员可以使用BCC(BPFCompilerCollection)库的工具来分析操作系统性能,获取操作系统信息。BCC简介BCC工具的全称是BPFCompilerCollection(BCC),是一个非常强大的库。强大的内核分析工具eBPF是基于BCC开发的。使用这个库,可以从底层获取操作系统性能信息、网络性能信息等。互动信息。RHEL中开箱即用的bcc-tools工具封装了BCC,方便用户使用它来分析系统性能安装BCC工具$yuminstallbcc-tools安装的bcc工具包在/usr/share/bcc/tools目录下,可以通过doc文档了解所有的工具。使用execsnoop工具分析系统进程1.先在终端1运行execsnop程序$/usr/share/bcc/tools/execsnoop2然后在新的终端2进行操作,如$ls/usr/share/bcc/tools/doc/3.此时在终端1可以看到终端2的运行信息PCOMMPIDPPIDRETARGSls838282870/usr/bin/ls--color=auto/usr/share/bcc/tools/doc/sed838583830/usr/bin/seds/^\*\[0-9\]\\+\*//...execsnoop程序会获取每一个使用系统资源的新进程,包括进程名,PID、PPID、返回值、参数等使用opensnoop跟踪打开文件句柄1.在终端1运行opensnoop程序$/usr/share/bcc/tools/opensnoop-nname比如这个命令会跟踪打开的文件通过uname命令2.在终端2在终端1执行uname3终端1会显示执行uname时打开的文件列表PIDCOMMFDERRPATH8596uname30/etc/ld.so.cache8596uname30/lib64/libc.so.68596uname30/usr/lib/locale/locale-archive...使用biotop分析磁盘I/O操作1.在终端1运行biotop程序$/usr/share/bcc/tools/biotop30上面命令会在30秒内监控磁盘IO最频繁的进程2.在终端2执行dd读写磁盘$ddif=/dev/vdaof=/dev/zero3.当可以看到终端1中最频繁的IO进程,ddPIDCOMMDMAJMINDISKI/OKbytesAVGms9568ddR2520vda1629414440636.03.6948KSWAPD0W2520VDA1763120696.01.657571GNOME-SHELLR2520VDA83483612.00.331891GNOME-SHELLR2520VDA1379137919792.019792.019792.019792.00.157515XORGR252XORGR2520vda28099940.280.280.28.28.28.28.28.28s.28s.28.28s.28.28s.28s.28s.28s运行xfsslower程序$/usr/share/bcc/tools/xfsslower1上面的命令会分析系统的读写性能,会记录读写时间超过1ms的操作。2.在终端2写文件操作。$vimtest3。显示vim运行TIMECOMMPIDTBYTESOFF\_KBLAT(ms)FILENAME13:07:14b'bash'4754R25607.11b'vim'13:07:14b'vim'4754R83204.03interminal1b'libgpm.so.2.1.0'13:07:14b'vim'4754R32201.04b'libgpm.so.2.1.0'在/usr/share/bcc/tools/doc/目录中有对各个工具的介绍和使用文档当我们在分析系统时遇到困难,使用bcc工具有时有助于更深入地了解系统的运行过程analysing-system-performance-with-bpf-compiler_collection
