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。
上一篇: 计算机系统--hello的自白大作业
下一篇: 一路码来