Fedora 12 gcc 4.4.1
我正在做一些编程,我的程序给了我一个堆栈转储。
但没有核心文件可供我检查。
所以我做了:
ulimit -c unlimited
并收到此错误消息:
bash: ulimit: core file size: cannot modify limit: Operation not permitted
我也尝试将 ulimit 设置为 50000,但仍然出现同样的错误。
ulimit -a 的结果:
$ ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 0
file size (blocks, -f) unlimited
pending signals (-i) 12275
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 10240
cpu time (seconds, -t) unlimited
max user processes (-u) 1024
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
答案1
在 bash 初始化文件中查找硬限制设置。从bash 手册页。
一旦设置硬限制,就无法增加;而软限制则可以增加到硬限制的值。
硬限制通过 ulimit -H 标志设置。它可能在 /etc/bash* 或 /etc/profile* 文件中设置。查找 ulimit -Hc 设置。
答案2
当我将其用作 SSH 服务器时,我遇到过这种情况dropbear
。显然,dropbear 在生成 shell 之前设置了一些硬性限制。
切换到 OpenSSH 解决了该问题。