IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 游戏开发 -> fork:retry resource temporarily unavailable -> 正文阅读

[游戏开发]fork:retry resource temporarily unavailable

问题

bash: fork: retry resource temporarily unavailable 的报错

原因

用户能够使用的进程数太少和文件描述符太小导致,每一个文件描述符会和一个文件对应,但是很多文件描述符也会和一个文件对应。相同的文件可以被不同的进程打开,也可以被同一个进程打开多次。

方案

一,系统层面的文件描述符

涉及到系统层面的,基本上都是通过修改内核参数来实现的,修改系统中的文件描述符可以通过下面两种方式来实现:

1,/proc/sys/fs/file-max,这个里面记录了系统中可以打开的文件描述符最大有多少个,我们可以使用cat查看下总数有多少个,如果不够了echo进更大的数,一般情况下不用动的

cat /proc/sys/fs/file-max

方法1是临时性的更改,系统重启后参数就会失效,因此需要写入文件中保存起来,Linux下修改的内核参数,修改的文件都是在/etc/sysctl.conf文件中,我们需要写入下面内容:

fs.file-max=xxxx

执行sysctl -p 生效。

除此以外我们还可以通过/proc/sys/fs/file-nr参数来查看系统中文件描述符。

cat /proc/sys/fs/file-nr

2272 0 100000

  • 2272 : 表示当前系统已分配使用了多少文件描述符

  • 0 : 表示当前系统分配了2272个文件描述符,有多少个是没有使用的。

  • 100000 : 表示系统中文件描述符总的个数

二,进程层面的文件描述符

进程层面的文件描述符可以通过ulimit命令来表示,也可以通过配置文件生效,可以通过这两种方法来生效:

ulimit -u 表示单个用户可以使用的最大的进程数
ulimit -n 表示可打开的文件描述符的最大个数

修改文件描述符可以通过这个命令:

ulimit -SHn xxxxxx ,其中S表示"soft",表示软限制,是可以超过这个限制,H表示"hard",表示硬限制,是不能超过这个限制的。

2 , 同样方法1是临时性的,永久有效的话,必须写入配置文件中,文件描述符中配置文件路径在/etc/security/limits.conf 写入

  • soft nofile 32768 可以打开的文件描述符最大数(软限制)
  • hard nofile 65536 可以打开的文件描述符最大数(硬链接)
  • soft nproc 32768 单个用户可以使用的最大进程数(软限制)
  • hard nproc 65536 单个用户可以使用的最大进程数(硬限制)

或者可以在/etc/security/limits.d/xxx-nproc.conf(若不存在则创建)写入

bash
* soft nproc 32768
* hard nproc 65536

在/etc/security/limits.d/xxx-nofile.conf(若不存在则创建)写入

  • soft nofile 32768
    • hard nofile 65536
      其中的第一列表示domain域,可以给没某个用户限制,或者某个用户组限制,*表示对所有的用户限制,但是root用户除外,root用户不受限制。具体的使用,可以使用man limits.conf来查询。
  游戏开发 最新文章
6、英飞凌-AURIX-TC3XX: PWM实验之使用 GT
泛型自动装箱
CubeMax添加Rtthread操作系统 组件STM32F10
python多线程编程:如何优雅地关闭线程
数据类型隐式转换导致的阻塞
WebAPi实现多文件上传,并附带参数
from origin ‘null‘ has been blocked by
UE4 蓝图调用C++函数(附带项目工程)
Unity学习笔记(一)结构体的简单理解与应用
【Memory As a Programming Concept in C a
上一篇文章      下一篇文章      查看所有文章
加:2022-04-28 12:10:15  更:2022-04-28 12:11:47 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/23 13:44:36-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码