Ubuntu18.04 ulimit 设置

fork: retry: 资源暂时不可用 

方法一:(临时解决,前提是命令还能用)

用root登录,执行命令:

ps aux | grep 出错命令名称或者名称一部分 | awk '{print $2}' | xargs kill -9

如:

ps aux | grep insert_pos | awk '{print $2}' | xargs kill -9

用户连接数:ulimit -u 102400
堆栈大小:ulimit -s 102400
文件打开数:ulimit -n 102400


方法二:(临时解决,前提是命令还能用)

出现这个问题可能是有另外一个程序正在运行,导致资源被锁不可用。而导致资源被锁的原因可能是上次运行安装或更新时没有正常完成,进而出现此状况

#处理杀死之前的进程,释放系统锁
ps -e|grep apt-get
显示
6965 ? 00:00:01 apt-get
然后执行
sudo kill 6965


强制解锁
sudo rm /var/cache/apt/archives/lock
sudo rm /var/lib/dpkg/lock

rm /var/lib/dpkg/lock-frontend


下面是我查了好多文档唯一可行的办法,因为Ubuntu18和之前的版本不一样了

方法三:(永久修改,这个办法是输入任何命令都不好使需要重启的选择)

添加如下内容:
注意,这里是每一个用户都要配置
vim /etc/security/limits.conf

* soft     nproc          102400
* hard     nproc          102400
* soft     nofile         102400
* hard     nofile         102400
* soft     stack          102400  
* hard     stack          102400

root soft     nproc          102400
root hard     nproc          102400
root soft     nofile         102400
root hard     nofile         102400
root soft     stack          102400
root hard     stack          102400
 

* 代表针对所有用户,noproc 是代表最大进程数,nofile 是代表最大文件打开数
- 的意思为soft 和hard 全部限制


hard和soft的区别:

-H  :hard limit ,严格的设定,必定不能超过这个设定的数值
-S  :soft limit ,警告的设定,可以超过这个设定值,但是若超过则有警告信息


换个窗口查看:
root@iZ2zeiflf48wp1ved7nnnmZ:~# 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) 241390
max locked memory       (kbytes, -l) 16384
max memory size         (kbytes, -m) unlimited
open files                      (-n) 102400
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) 102400
virtual memory          (kbytes, -v) unlimited
file locks                      (-x) unlimited


添加 common-session
在 /etc/pam.d/common-session 和/etc/pam.d/common-session-noninteractive 文件中,都添加下面内容:

session required pam_limits.so


修改 /etc/systemd/system.conf 和/etc/systemd/user.conf文件
如果不修改这两个文件的话,重启后当前登录的普通用户不会超过这个限制(影响的是登录桌面的用户)。

修改完成后,如果是远程链接,重新链接即可生效; 如果是桌面环境,重启后生效

DefaultLimitNOFILE=102400
DefaultLimitSTACK=102400
DefaultLimitNPROC=102400

#临时改变栈空间大小:ulimit -s 102400, 即修改为100M

ulimit -s ulimited
ulimited就是不限制

最后特别提醒大家一句,这三个地方的文件改好之后,一定要重启生效,否则过几天还会遇到这样的问题

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小数苗小数苗

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值