标签: dmesg

dmesg 中 libata 设备探测行中的字段是什么意思?

当内核启动时,它会为每个 SATA 设备打印出这样的行:

[    0.919450] ata2.00: ATA-8: ST2000DM001-1CH164, CC24, max UDMA/133
[    0.919487] ata2.00: 3907029168 sectors, multi 16: LBA48 NCQ (depth 31/32), AA
Run Code Online (Sandbox Code Playgroud)

这些字段是什么意思?

linux sata linux-kernel dmesg libata

3
推荐指数
1
解决办法
550
查看次数

解释 dmesg 和 /var/log/boot.log 的输出

我找到了两种打印引导消息的方法,一种使用 dmesg,另一种使用文件 /var/log/boot.log 的内容:

/var/log/boot.log 文件的内容是:

 fsck from util-linux 2.20.1
/dev/loop0: clean, 263563/2271232 files, 7843644/18169856 blocks
 * Starting configure network device security^[[74G[ OK ]
 * Starting configure network device security^[[74G[ OK ]
 * Starting configure network device^[[74G[ OK ]
 * Starting Mount network filesystems^[[74G[ OK ]
 * Starting Failsafe Boot Delay^[[74G[ OK ]
 * Stopping Mount network filesystems^[[74G[ OK ]
 * Starting Bridge socket events into upstart^[[74G[ OK ]
 * Starting mDNS/DNS-SD daemon^[[74G[ OK ]
 * Starting Userspace bootsplash^[[74G[ OK …
Run Code Online (Sandbox Code Playgroud)

boot logs dmesg

3
推荐指数
1
解决办法
2002
查看次数

有没有办法暂时禁用 dmesg 中的段错误消息?

Linux 内核在环形缓冲区中不断记录段错误。

a.out[25415]: segfault at 8049604 ip 08049604 sp bf88e3fc error 15 in a.out[8049000+1000]
Run Code Online (Sandbox Code Playgroud)

有没有办法暂时禁用它?我的用例是我正在运行一个测试套件,它会做各种疯狂的事情,我不想在dmesg那个时间段看到段错误。 dmesg -c不是一个选项,因为我被迫使用的测试框架正在分析 dmesg 输出,我不能只是在中间清除它。

sysctl -a如果有一些内核参数,我正在查看输出,但我没有看到任何有用的东西。kernel.print-fatal-signals看起来很有希望,但这只是为了显示更详细的信息。

segmentation-fault linux-kernel dmesg

3
推荐指数
1
解决办法
3855
查看次数

dmesg 的输出中“Worm 正在初始化...”是什么意思?

我有一个 RHEL 5 系统:

[root@myhost ~]# cat /etc/redhat-release 
Red Hat Enterprise Linux Server release 5.11 (Tikanga)
Run Code Online (Sandbox Code Playgroud)

当我运行时dmesg,我收到一条奇怪而令人不安的消息:

[root@myhost ~]# dmesg | grep -i worm
Worm initializing...<1>done.
Run Code Online (Sandbox Code Playgroud)

这个消息是什么意思,它来自哪里?

这是完整的 dmesg 输出

linux rhel dmesg

3
推荐指数
1
解决办法
99
查看次数

在 centos 7 上记录 iptables 事件

我的 centos 7 上有 iptables。我的防火墙被禁用。如何记录我的 iptables 事件?在 debian 上它是 dmesg 选项,但我不知道如何在 centos 上设置它。

我想记录所有 iptables 事件。没有具体规定。

logs iptables centos dmesg

3
推荐指数
1
解决办法
3万
查看次数

写入 /dev/kmsg 随机出现在 /proc/kmsg 中,并且总是在 dmesg 中?

/dev/kmsg在尾随消息的同时写入消息时/proc/kmsg,消息会非常随机地出现,而 in 永远不会出现在/var/log/kern.log.

但是,dmesg正确获取所有消息。

例子

# Terminal 1
sudo tail -f /proc/kmsg

# Terminal 2 
tail -f /var/log/kern.log

# Terminal 3
sudo sh -c 'echo "<1> Kernel log message" > /dev/kmsg'
sudo sh -c 'echo "<1> Kernel log message" > /dev/kmsg'
sudo sh -c 'echo "<1> Kernel log message" > /dev/kmsg'
sudo sh -c 'echo "<1> Kernel log message" > /dev/kmsg'
Run Code Online (Sandbox Code Playgroud)

结果:

# Terminal 1
# The message is shown at irregular …
Run Code Online (Sandbox Code Playgroud)

rsyslog linux-kernel dmesg

3
推荐指数
1
解决办法
3308
查看次数

dmesg 在 FreeBSD 中跟随

有没有办法像在 Linux上使用( ) 选项一样在 FreeBSD 上实时观看dmesg--follow-wdmesg

freebsd dmesg

3
推荐指数
1
解决办法
587
查看次数

dmesg + 假设驱动器缓存:直写

当我们在 rhel 7.2 上运行以下 dmesg 时,我们得到关于 assuming drive cache

dmesg --level=err
[    5.325381] sd 0:0:0:0: [sda] Assuming drive cache: write through
[    5.325492] sd 0:0:5:0: [sde] Assuming drive cache: write through
[    5.325637] sd 0:0:3:0: [sdc] Assuming drive cache: write through
[    5.325667] sd 0:0:4:0: [sdd] Assuming drive cache: write through
[    5.326309] sd 0:0:2:0: [sdb] Assuming drive cache: write through
[   10.277944] piix4_smbus 0000:00:07.3: SMBus Host Controller not enabled!
Run Code Online (Sandbox Code Playgroud)

知道这个内核错误是什么意思吗?

我已阅读 Redhat 帖子 - https://access.redhat.com/solutions/42752

但不清楚解决方案是什么?

注意 - 我必须说服务器在意外重启之后

rhel kernel dmesg

3
推荐指数
1
解决办法
2829
查看次数

Dev Loop0:无法读取 RDB 块 8

每次启动笔记本电脑时,我都会看到此警告,并从dmesg中得到以下输出:

[    2.895604] Dev loop0: unable to read RDB block 8
[    2.895641]  loop0: unable to read partition table
[    2.895936] loop0: partition table beyond EOD, truncated
Run Code Online (Sandbox Code Playgroud)

这个警告是什么意思?我应该担心吗?我有一块 SSD,看起来运行良好。

我从维基百科上看到RDB意味着刚性磁盘块。

当我运行fdisk -l时我得到

Disc /dev/loop0: 4 KiB, 4096 bytes, 8 sectors
Unities: sector of 1 * 512 = 512 bytes
Sector size (logic/physic): 512 bytes / 512 bytes
I/O size (minimal/optimal): 512 bytes / 512 bytes
Run Code Online (Sandbox Code Playgroud)

dmesg

3
推荐指数
1
解决办法
8347
查看次数

“不存在缓存页面模式”和“假设驱动器缓存”之间有什么区别。写下来。

POST 后,BIOS 后屏幕,GRUB 后;当我在插入 SD 卡或 USB 记忆棒的情况下启动 Debian 时,首先在屏幕上弹出的东西之一(很快,我什至都没有注意到)看起来有点像:

[sdX] no caching page mode present
Run Code Online (Sandbox Code Playgroud)

text, text, X 大约从一长串内容的一半开始,文本明显变小,就在窗口管理器启动之前,我看到了非常熟悉的设备消息(dmesg无论如何,这不是代表什么吗?)

[sdX] assuming drive cache. write through
Run Code Online (Sandbox Code Playgroud)

那么,从技术上讲,这两个状态之间有什么区别?正在缓存什么?页面是什么?什么是“写透”?什么排除了驱动器缓存的假设,以便在启动后直接进行写入?

boot devices dmesg

2
推荐指数
1
解决办法
4118
查看次数

为人类可读的 dmesg 输出调整 perl 脚本

在 RHEL 6 中,我有内核参数:

printk.time=1
Run Code Online (Sandbox Code Playgroud)

这样我的 dmesg 就会有一个时间戳。但是它在重新启动后的几秒钟内显示,如下所示:

[12.23456]
Run Code Online (Sandbox Code Playgroud)

我找到了一个脚本,您将其放置在 .bashrc 中,它将秒数转换为 HR 日期。

dmesg_with_human_timestamps () {
$(type -P dmesg) "$@" | perl -w -e 'use strict;
    my ($uptime) = do { local @ARGV="/proc/uptime";<>}; ($uptime) = ($uptime =~ /^(\d+)\./);
    foreach my $line (<>) {
        printf( ($line=~/^\[\s*(\d+)\.\d+\](.+)/) ? ( "[%s]%s\n",  scalar localtime(time - $uptime + $1), $2 ) : $line )
    }'
}
alias dmesg=dmesg_with_human_timestamps
Run Code Online (Sandbox Code Playgroud)

这很好用,我的 dmesg 输出现在看起来像这样:

[Fri Jun 10 13:07:14 2016]
Run Code Online (Sandbox Code Playgroud)

但是我如何更改代码以使其看起来像这样:

[2016/06/10 13:25:28]
Run Code Online (Sandbox Code Playgroud)

perl text-processing timestamps dmesg

2
推荐指数
1
解决办法
436
查看次数