Linux:为什么 smaps 中的值会不断增加
Linux: Why do the values in smaps increase continuously?
我总结了当前进程的映射值。在一段时间内重复此操作。将结果保存在一个文件中,然后我绘制了它。我觉得有点奇怪的是,地图不同字段的值似乎或多或少是线性增加的。此外,我还使用 c++ 中的新命令分配了一些内存。我释放了记忆,但没有明显的区别。我接受田野地块中的一些上下运动。不幸的是,没有任何上下运动。
这种行为是正常的还是我做错了什么?但是我很确定,我的解析器可以工作,因为我用pmap检查了它。我的解析器和 pmap 为同一进程返回相同的结果。
从操作系统分配内存非常昂贵,因此一次分配大块堆。 new
尝试在预分配的堆上找到空位,并且只有在没有空位时,它才会从操作系统中分配另一个块。 从这个预分配的堆中解除分配也只对大块进行。(您可以查看手册页"mallopt",了解如何使用环境调整行为。请注意,所有分配都需要在页面中完成,每个页面通常为 4 KiB 大。
这适用于小内存分配。大型分配(默认情况下,128 KiB 或更多,同样可以使用 mallopt 进行调整)使用匿名mmap
完成,并在释放时解除分配。
相关文章:
- 为什么我的代码在输出中增加了93天
- 为什么要增加导致崩溃的指针
- 为什么如果我添加这一行,我的程序会不断询问值
- 为什么"i"在循环的每次迭代中都没有增加?(C++)
- 为什么当通过 TCP 发送的消息速率增加时,请求-响应消息对的延迟会降低?
- 为什么在C++中增加指针后打印了一个值而不是 NULL/0?
- ActiveMQ使用者的内存使用量在onMessage调用后不断增加
- 不断增加的指针数组 错误:赋值中的类型不兼容
- 我的值不断增加,而不是在循环语句中重置
- C++不断增加阵列大小
- 当使用动态数组时,循环中的内存使用量不断增加.(C++)
- 随着C++程序的运行,内存使用量不断增加
- Arduino Serial.available() 不断增加
- gtkmm应用程序内存使用量不断增加
- 不断增加物理内存Visual c++ CryptMsgClose和CryptReleaseContext
- 在AIX上,VSZ和RSS不断增加
- 信号量句柄的数量不断增加
- 尽管初始大小固定,但用于跟踪对象的边界框/ROI 的大小仍在不断增加
- Linux:为什么 smaps 中的值会不断增加
- c++ -不断增加一个整数