发布于2026-07-16 阅读(0)
扫一扫,手机访问
ulimit 这个命令,干的是控制 shell 运行时的资源限制,比如文件大小、进程数这些。如果你想知道怎么调核心转储文件(core dump)的大小,那关键就在 -c 这个选项上。

具体操作其实不复杂,分几步走就行:
想知道现在核心文件能有多大,直接敲:
ulimit -c返回的数字是以“块”为单位的,一个块通常是 512 字节。如果出来个 0,那就说明核心转储压根没开——系统崩溃了也不会留下痕迹。
比如你想让核心文件不受限制,那就:
ulimit -c unlimited或者你想指定一个大小,比如 1024 块(大约 512 KB):
ulimit -c 1024注意,这种设置只在当前 shell 会话中有效,你关掉终端再开,就又回到老样子了。
如果你希望每次登录都自动生效,那就要动系统的配置了。不同发行版略有差异:
大多数 Linux 发行版:编辑 /etc/security/limits.conf 文件,在末尾加上:
* soft core unlimited
* hard core unlimited这样所有用户的核心文件大小就都没限制了。如果想限制某个用户或某个组,可以把 * 换成用户名或组名。
有些系统还需要改内核参数:编辑 /etc/sysctl.conf,加入:
kernel.core_pattern = /var/crash/core.%e.%p
fs.suid_dumpable = 1然后执行 sysctl -p 让配置立即生效。这里 core_pattern 控制核心文件的存放路径和命名格式——比如 %e 表示可执行文件名,%p 表示进程 PID。你完全可以按自己喜好来改,比如改成 /tmp/core.%t 用时间戳命名。
搞定了这些,系统崩溃时就会乖乖吐出足够大的 core 文件,方便你事后排查问题。别忘了,调整完最好重启一下或者重新登录,确保设置被正确加载。
下一篇:Ubuntu如何调试C++程序
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
售后无忧
立即购买>office旗舰店
正版软件
正版软件
正版软件
正版软件
正版软件
1
2
3
7
8