共享内存访问导致rss增加
Shared memory access cause increasing rss
我有一个apache模块,当它被请求时加载一个100MB的文件到内存中。
所以为了减少执行时间,我尝试IPC共享内存(父进程创建shm段,然后子进程附加它)
我目前使用APR apr_shm_create(mmap + shmopen)。
但是我也发现每个子进程的RSS(ps aux | grep httpd
)在执行时分别有大约100MB。(附加时刻除外)
问题:如何重置或防止子进程的RSS增加,从而在整个httpd进程中只消耗100MB的内存?这是不可能的吗?
进程的驻留集大小是映射到该进程的内存并且驻留在RAM中的内存页的总大小。当进程附加到大小为100 MB的共享内存时,其RSS
将增加100 MB(如果共享内存段驻留在RAM中并且没有交换或尚未物理分配)。但是这并不意味着占用了更多的物理内存。
相关文章:
- 数组索引的值没有增加
- 为什么我的代码在输出中增加了93天
- 有效地使用std::unordered_map来插入或增加键的值
- C++ 动态数组每次添加时将大小增加 1 - 错误
- 为什么要增加导致崩溃的指针
- 增加传递地址的值
- 如何增加以前由新运算符分配的 C++ std::list 数组的大小?
- 为什么"i"在循环的每次迭代中都没有增加?(C++)
- std::thread 增加 DLL 引用计数,从而防止卸载 DLL
- 如何在C++中为增加但记住删除先前对象的对象分配唯一标识符
- 将一对插入地图并增加计数?
- 整数类型应该显式转换(例如"int"到"无符号")还是只会增加混乱?
- 我的 c++ 应用程序中的运行时间从 0 增加到 60 太快了(例如一毫秒或一微秒)
- 为什么当通过 TCP 发送的消息速率增加时,请求-响应消息对的延迟会降低?
- 琐碎并发代码的吞吐量不会随着线程数量的增加而增加
- C++:功能在输出前自动使用50减/增加输入数
- 追加位以增加字符的大小
- 为什么在C++中增加指针后打印了一个值而不是 NULL/0?
- 在AIX上,VSZ和RSS不断增加
- 共享内存访问导致rss增加