系统启动时,lockdep报告了一次锁异常信息,然后系统自动关闭了lockdep,我可以在启动后通过创建/proc文件系统节点的方式来修改内核变量debug_locks来重新开启lockdep吗,修改的时候是否需要重置lockdep
时间: 2023-11-28 17:05:03 浏览: 137
在启动后通过创建/proc文件系统节点的方式来修改内核变量debug_locks来重新开启lockdep是可行的。你可以在终端中输入以下命令来创建/proc文件系统节点:
```
sudo sh -c 'echo 1 > /proc/sys/kernel/debug/debug_locks'
```
这将会开启lockdep,并将其记录到/sys/kernel/debug/lockdep目录中。你也可以通过将debug_locks设置为0来关闭lockdep:
```
sudo sh -c 'echo 0 > /proc/sys/kernel/debug/debug_locks'
```
在修改debug_locks时,不需要重置lockdep。但是,如果你想在开启lockdep后重置其状态,可以使用以下命令:
```
sudo sh -c 'echo 1 > /proc/sys/kernel/debug/reset_locks'
```
这将会重置lockdep并清除所有已收集的锁信息。
相关问题
系统启动时lockdep已经报告了一次锁异常的日志,启动后系统自动关闭了lockdep,启动怎么通过创建/proc文件节点的方式再次开启lockdep ,初始化lockdep,重置lockdep
要重新开启lockdep,您可以通过以下步骤:
1. 编辑内核配置文件,并确保以下选项已启用:
```
CONFIG_DEBUG_LOCKDEP=y
CONFIG_PROVE_LOCKING=y
CONFIG_LOCK_STAT=y
```
2. 重新编译内核并安装。
3. 创建/proc文件节点以启用lockdep:
```
echo 1 > /proc/sys/kernel/lockdep
```
现在,lockdep已经被重新启用。如果您想重置lockdep状态并清除所有已记录的锁信息,请执行以下操作:
```
echo 0 > /proc/sys/kernel/lockdep
echo > /sys/kernel/debug/lockdep/lock
```
这将重置lockdep状态并清除所有已记录的锁信息。现在,您可以重新启用lockdep并开始记录锁信息。
我的系统内没有/proc/sys/kernel/lockdep怎么办
您可以按照以下步骤来创建/proc/sys/kernel/lockdep:
1. 打开终端,使用root权限
2. 输入以下命令:
```
sudo mkdir -p /proc/sys/kernel
sudo touch /proc/sys/kernel/lockdep
```
3. 确认创建成功,您可以使用以下命令来验证:
```
ls /proc/sys/kernel | grep lockdep
```
这将显示是否已成功创建/proc/sys/kernel/lockdep。
阅读全文