欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

ubuntu系统下程序运行一段时间后显示已杀死“killed“

程序员文章站 2024-03-07 13:22:21
...

查看日志文件并没有找到内存不够的信息,实际上是由于下面这句语句

#ulimit -t 600 #CPU限制使用时间

我实在不明白为什么我写了这句话在我的.bashrc文档中.

ulimit 是一种 Linux 系统的内键功能,它具有一套参数集,用于为由它生成的 shell进程及其子进程的资源使用设置限制。

查看系统用户所有限制值:

$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) 63623
max locked memory       (kbytes, -l) 65536
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) 8192
cpu time               (seconds, -t) unlimited
max user processes              (-u) 63623
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited

设置用户open files(用户可以打开文件的最大数目):ulimit -n 4096。执行该命令非root用户只能设置到4096。想要设置到8192需要sudo权限或者root用户。

查看当前系统打开的文件数量: lsof | wc -l
查看当前进程的打开文件数量:lsof -p pid | wc -l (lsof -p 1234 | wc -l )

查看当前进程的最大可以打开的文件数:cat /proc/PID/limits (如果通过ulimit -n 设置或者修改/etc/security/limits.conf,看看进程是否生效)

查看系统总限制打开文件的最大数量:cat /proc/sys/fs/file-max

max user processes – 用户可以开启进程/线程的最大数目,对应ulimit 的命令ulimit -u 临时修改max user processes的值:ulimit -u 8192。