bosdebug 命令

用途

启用、禁用和/或显示系统的调试功能状态。

语法

bosdebug [-b] [-D | -我] [-K on | off] [-M] [-n sizelist] [-R on | off] [-M] [-s sizelist | -S]

bosdebug [-f | -我 <文件>]

bosdebug [-h]

bosdebug [-L]

bosdebug [-o]

描述

bosdebug 命令启用、禁用和/或显示系统的调试功能状态。

描述
-b 禁用状态信息的数据收集以回溯故障原因。 该信息有助于调试特定类型的内核错误。 禁用状态信息数据收集以回溯故障原因,这一做法能在某些不常见的工作负载下略微提高性能,但这一禁用并不允许保留那些可能对问题分析至关重要的数据。
-D 每次一发生后续的重新引导,就装入内核调试程序。
-I 每次一发生后续的重新引导,就装入和调试内核调试程序。
-L 显示内核调试程序和存储器覆盖层检测系统的当前设置。 注意,所显示的设置直到下一次运行 bosboot -ashutdown -r 命令之后才会生效。 这是缺省情况。
-K on | off 设置内核扩展分配跟踪的状态。
-O 关闭系统的所有调试功能。
-R on | off 激活或取消激活“实时内核”选项。 当指定了 -R on 时,内核会预先生成一个额外的中断,以确保当占先线程被视为“实时”线程时,可以迅速响应跨 CPU 的占先请求。 如果没有这个额外的中断(称为 MPC),那么被占先的线程不会中断,会继续运行到下一个定期调度的计时器记号,或者通常继续运行最多 10 毫秒。

缺省情况下,按照固定的优先级策略运行的线程将视为实时线程。 如果 RT_MPC=ON 在进程还未开始前就导出到环境中,那么该进程的线程也将视为实时线程。 请注意,虽然额外的 MPC 中断能缩短占先等待时间,但这些中断同时也会增加开销。 在将 RT_MPC=ON 导出到缺省环境之前,请先考虑这种额外的开销。

-我 <file> kdb 调试器打印工具的符号文件装入内核。 立即装入符号。 不重新引导。 可创建打印 LFS 结构的符号文件,如下所示:
# echo '#include <sys/vnode.h>' > sym.c 
# echo 'main() { ; }' >> sym.c 
# cc -g -o sym sym.c -qdbxextra /* for 32 bit kernel */ 
# cc -g -q64 -o sym sym.c -qdbxextra /* for 64 bit kernel */ 
-f 从核心内存清仓所有符号(通过 -l 选项装入的符号)。 立即清仓。 不要求重新引导。
-M 导致启用内存覆盖程序段检测系统。 内核扩展和设备驱动程序中的内存覆盖程序段将导致系统崩溃。
-s sizelist 导致内存覆盖程序段检测系统将每个指定分配大小提升至整页,分配下一个后续页,并在每次分配后隐藏该页。 这会导致分配的内存结尾之外的引用,从而导致系统崩溃。 sizelist 是用逗号分隔的内存大小列表。 每个大小必须在 16 到 2048 之间,并且必须是 2 的幂。
-S 导致内存覆盖程序段检测系统将所有分配大小提升至页大小 (4096) 的下一个更高倍数,但不会隐藏后续页。 这会减少对已释放内存的引用导致系统崩溃的机会,但它不会检测已分配内存结尾之后的读取或写入,直到内存被释放。
-n sizelist 与 -s 选项的效果相同,但改为对网络内存工作。 每个大小必须在 32 到 2048 之间,并且必须是 2 的幂。 这将导致在引导期间打开 no 命令的 net_malloc_frag_mask 变量。
-h 显示此命令的用法消息。

通过该命令进行的任何更改都要在运行了 bosbootshutdown -r 命令后才生效(除 -l-f 选项)。

安全性

RBAC 用户和 TrustedAIX®用户请注意:此命令可执行特权操作。 只有特权用户才能执行特权限定的操作。 有关权限与特权的更多信息,请参阅安全性中的“特权限定的命令数据库”。 有关与该命令相关联的特权和权限的列表,请参阅 lssecattr 命令或 getcmdattr 子命令。