c++ - x64 Linux 中的单进程最大可能内存

标签 c++ linux memory process

x64 Linux 中单个进程是否有内存限制?

我们正在运行具有 32Gb RAM 的 Linux 服务器,我想知道我是否可以将其中的大部分分配给我正在编码的需要大量 RAM 的单个进程!

最佳答案

某些内核有不同的限制,但在任何现代 64 位 Linux 上,单进程限制仍然远远超过 32GB(假设该进程是 64 位可执行文件)。各种发行版也可能使用 sysctl 设置了每个进程的限制,因此您需要检查您的本地环境以确保没有设置任意低的限制(同时检查 ipcs - l 在基于 RPM 的系统上)。

Debian port documentation对于 AMD64 端口,特别提到每个进程的虚拟地址空间限制为 128TiB(物理内存限制的两倍),因此这应该是您正在使用的合理上限。

关于c++ - x64 Linux 中的单进程最大可能内存,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8799481/

相关文章:

C++:std::map的微小内存泄漏

c# - 你能通过内存位置而不是内容来比较字符串吗?

c++ - Function operator= 必须是成员函数

C++:引用地址?

linux - 创建与其他文件相关的符号链接(symbolic link)

android - 构建 android 镜像时出错,jack 服务器失败

c++ - AVR 工作室 5 : compile C++ code

c++ - 机器学习、人工智能和计算语言学

c++ - 如何在最后一个子 fork() 下打印一次子进程及其名称和 pid

linux - linux下如何获取进程的总内存使用量和执行时间?