c - 我应该使用什么数据类型来解析 /proc/[pid]/smaps 中的大小?
问题描述
它们总是4kB的时间吗?把所有Sizes
的 smap 加起来能有多大?
解决方案
那里的粒度是内存页面大小。它可能是 4096 或 8192 字节(或者甚至是其他东西,不确定)。通常,如果可用,您可以使用sysconf(_SC_PAGESIZE)
或使用预定义的PAGE_SIZE
宏来确定它。
所有条目总和的上限Size
是整个虚拟地址空间大小,即2^32
32 位系统的2^64
字节数和 64 位系统的字节数。当然,实际情况总是在这个限制之下,至少因为内核占用了一部分地址空间并且它没有在/proc/<pid>/smaps
.
推荐阅读
- python - 将RGB图像转换为黑白
- python - 从dict中提取键值
- python - 此代码不断输出与我分配的消息不同的消息
- ios - iOS中的突然MGLMapView警告
- python - 使用 subprocess.check_output() 打印 Ifconfig 会出错
- django - django,无法访问第二个应用程序(新目录)索引页面
- r - 比较两个数据帧之间 xy 值的位置
- c - 如何将一个字符串映射到 C 中的另一个字符串?
- python - 为什么 pygame.surface.get_view() 只有在表面旋转时才会失败?
- mongodb - MongoDB - 随机和独特的结果