為什麼 dmesg 輸出顯示在 /dev/tty1 上
這仍然與我昨天的執行緒有關,所以有警報或者它只是顯示在我的終端上的日誌
/dev/tty1
。當然這很煩人,因為它顯示在我的 bash 提示符中,所以每當我想輸入一些東西時,我的輸入都會被該輸出覆蓋。它可能會定期列印出來3 second
。所以你可以看到它有多煩人我的終端看起來像這樣:
root@LFS:# echo "Hey get out of there"clocksource: timekeeping watchdog on CPU0: acpi_pm wd-wd readback delay of 643744ns clocksource: wd-tsc-wd read-back delay of 182144ns, clock-skew test skipped! clocksource: timekeeping watchdog on CPU0: acpi_pm wd-wd readback delay of 643744ns clocksource: wd-tsc-wd read-back delay of 182144ns, clock-skew test skipped! clocksource: timekeeping watchdog on CPU0: acpi_pm wd-wd readback delay of 643744ns clocksource: wd-tsc-wd read-back delay of 182144ns, clock-skew test skipped! ...
我懷疑這不是因為
clocksource
,而是因為dmesg
輸出。因為當我指揮dmesg
. 它顯示相同。但是,每當我使用/dev/pts
沒有煩人的輸出或定期發出警報時,我都會在我的 LFS 系統中登錄 SSH 時對其進行測試。那麼如何防止dmesg日誌顯示到
/dev/tty1
更新:內部
/proc/cmdline
root@LFS:~# cat /proc/cmdline BOOT_IMAGE=/boot/vmlinuz-5.16.9-lfs-11.1 root=/dev/sda1 ro
您可以通過降低控制台日誌級別來禁用控制台輸出。例如,通過將控制台日誌級別降低到 0 來禁用所有輸出:
# sysctl kernel.printk='0 4 0 5'
kernel.printk
接受四個參數:
- 控制台日誌級別,控制哪些消息將顯示在控制台上(這是你最關心的);
- 尚未設置日誌級別的任何消息的預設消息日誌級別;
- 允許的最低控制台日誌級別,它將控制台日誌級別限制在最低限度;
- 預設控制台日誌級別(目前未在程式碼中使用)。
您可以將其保留在
/etc/sysctl.conf
或/etc/sysctl.d/
中。您還可以使用 dmesg 來執行此操作
dmesg
:# dmesg -n1
來自
man dmesg
:-n, –console-level level:設置消息記錄到控制台的級別。級別是級別編號或級別名稱的縮寫。例如,-n 1 或 -n alert 可防止除緊急(恐慌)消息之外的所有消息出現在控制台上。所有級別的消息仍然寫入 /proc/kmsg,因此 syslogd(8) 仍然可以準確控制核心消息出現的位置。當使用 -n 選項時,dmesg 不會列印或清除核心環形緩衝區。對於所有支持的級別,請參見 –help 輸出。
您還可以通過傳遞在核心命令行上調整它
loglevel=N
,請參閱Documentation/admin-guide/kernel-parameters.txt
. 該選項quiet
也是可用的——它實際設置的級別取決於CONFIG_CONSOLE_LOGLEVEL_QUIET
, 在編譯時設置的值。每個控制台的日誌級別
順便說一句,在我將每個控制台的控制台日誌級別合併到核心中之後,人們將能夠直接減少或增加特定類別控制台的日誌級別,而不是使用 sysfs 中的控制項影響整個系統:
% ls -l /sys/class/console/ttyS/ total 0 lrwxrwxrwx 1 root root 0 May 20 14:40 subsystem -> ../../../../class/console/ -r--r--r-- 1 root root 4096 May 20 14:41 effective_loglevel -r--r--r-- 1 root root 4096 May 20 14:41 effective_loglevel_source -r--r--r-- 1 root root 4096 May 20 14:41 enabled -rw-r--r-- 1 root root 4096 May 20 14:41 loglevel -rw-r--r-- 1 root root 4096 May 20 14:40 uevent
該格式仍有一些變化,但當它在接下來的幾個核心版本中合併時,它可能看起來與此類似。
kernel.printk
也可能會被棄用,以支持更精細的控制。
Documentation/admin-guide/per-console-loglevel.rst
有關更多資訊,請參閱更新檔。