系統管理
1748282 會員
3930 線上
108761 解決方案
發表新文章

為什麼我的dmesg show 的東西越來越少

 
watermelonyu
教授

為什麼我的dmesg show 的東西越來越少

我的機器在剛裝機的時候打dmesg可以看到cpu and memory message

ex

physical page size = 4096 bytes, logical page size = 4096 bytes

Physical: 25034752 Kbytes, lockable: 18067784 Kbytes, available: 20776252 Kbytes

但是現在那些訊息都不會出現了



目前只剩

# dmesg



Oct 6 09:53

...

9D811 is alive.

emcp:Mpc:Info: 60060175400C0000EC0365561606D811 is alive.

emcp:Mpc:Info: 600601E6F30D000052BD09862409D811 is alive.

emcp:Mpc:Info: 60060175400C0000EC0365561606D811 is alive.

emcp:Mpc:Info: 600601E6F30D000052BD09862409D811 is alive.

emcp:Mpc:Info: 60060175400C0000EC0365561606D811 is alive.

emcp:Mpc:Info: 600601E6F30D000052BD09862409D811 is alive.

emcp:Mpc:Info: 60060175400C0000EC0365561606D811 is alive.

emcp:Mpc:Info: 600601E6F30D000052BD09862409D811 is alive.

emcp:Mpc:Info: 60060175400C0000EC0365561606D811 is alive.

emcp:Mpc:Info: 600601E6F30D000052BD09862409D811 is alive.

emcp:Mpc:Info: 60060175400C0000EC0365561606D811 is alive.

emcp:Mpc:Info: 600601E6F30D000052BD09862409D811 is alive.

請問這是什麼狀況
2則回覆 2
watermelonyu
教授

為什麼我的dmesg show 的東西越來越少

dmesg 只顯示最近的系統訊息, 除非你用 cron job

every 10 minutes.



/usr/sbin/dmesg - >> /var/adm/messages



才能把剛開機時的訊息保留下來
watermelonyu
教授

為什麼我的dmesg show 的東西越來越少

hpux kernel 內有一個資料結構叫作 message buffer,

它是一個固定大小的 circular buffer.

當 kernel 的 driver/module 有訊息要送出時

(print statement of kernel drive/module),

message 就會被寫到 message buffer.



dmesg 指令就是用來將 message buffer 的內容秀出來用的.



因為 message buffer 是固定大小,

所以後來的 message 會將前面的 message 擠掉.

系統開機時 kernel driver/module 會把 CPU memory 等訊息寫到 message buffer,

所以下 dmesg 指令可以看到.

時間久了更多的 message 寫到 message buffer, 就把之前的 message 擠掉,

dmesg 就看不到舊的 message 了.



建力一個 cron job 如下, 可以把 message buffer 的內容保留至一個檔案,

以避免舊的 message 被擠掉.



# crontab -l

0,5,10,15,20,25,30,35,40,45,50,55 * * * * /usr/sbin/dmesg - >> /var/adm/messages