【发布时间】:2016-09-23 09:14:03
【问题描述】:
我正在使用带有自定义内核(4.2.0-36-generic)的最新 Ubuntu Linux,其中我禁用了 CONFIG_STRICT_DEVNEM,因为我需要在项目期间转储和搜索内存中的一些术语。
但是,当使用dd if=/dev/mem 在屏幕上打印、dd if=/dev/mem of=/home/user/Documents/file.dump 将其保存为文件或dd if=/dev/mem | hexdump -C | grep 'term' 直接查找我要查找的内容时,系统会在此过程中冻结并重新启动。
我已与df -h 核对过,我的光盘有足够的可用空间。此外,在从 8Gb RAM 中写入 2.1Gb 到 2.5Gb 之后,在到达以 4 开头的地址之前(如果这些有任何区别),该过程总是停止。此外,检查/var/log/syslog 和/var/log/kern.log 显示冻结前没有任何相关信息。
此外,使用参数 bs=1G count=2 成功复制了前 2GB 内存,但随后尝试 bs=1G count=2 skip=2 获取下一个 2GB 再次冻结系统。
您能否提出任何解决方案,以便可以转储完整内存或其他方式直接在内存中搜索词条?
【问题讨论】:
-
Check this on unix.stackexchange.com。我认为'fmem'部分将是要走的路
-
@ppeterka 正在尝试。谢谢
-
并行运行
tail -f /var/log/kern.log和tail -f /var/log/messages,看看内核在崩溃前是否输出信息。然后,在重新启动后查看这些文件。此外,change the kernel's debug level 可以更轻松地查看问题所在。考虑在unix.stackexchange.com 或askubuntu.com 上提问。 -
@DiomidisSpinellis 即使将内核的调试级别更改为最高级别,在
/var/log/kern.log或/var/log/syslog崩溃之前,我也找不到任何相关或打印的内容。但是,通过询问unix.stackexchange.com,我得到了answer。通过查看/var/log/kern.log和`/proc/iomem',我发现哪些内存区域可以安全访问。谢谢。
标签: linux ubuntu memory freeze computer-forensics