首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用过的和VIRT有什么区别?

用过的和VIRT有什么区别?
EN

Unix & Linux用户
提问于 2018-10-29 15:11:14
回答 1查看 976关注 0票数 0

…的命令top中,

用过的和VIRT有什么区别?使用的是"RES“+”交换“。"VIRT - USED“是否等于已映射但未使用的页面?

"VIRT“或" used”包括内核空间使用的大小吗?

"RES“是否包含”代码“和”数据“?

什么是"pgms"?

谢谢。

对于每个这样的进程,每个内存页都被限制为下表中的一个象限。物理内存和虚拟内存都可以包含这四个内存中的任何一个,而交换文件只包含#1到#3。象限#4中的内存在修改后充当自己的专用交换文件。私人共享1+2匿名。叠起来。malloc()brk()/sbrk() \x{e76f}shm*。mmap(二等兵,阿农)mmap(共享,-----------------------+---------------------- )。mmap(私人,fd)mmap(共享,fd)文件支持。以下内容可能有助于解释显示为可伸缩列的进程级内存值,并在主题3a. DESCRIPTIONS of Fields'. %MEM - simply RES divided by total physical memory CODE - thepgms的象限3数据部分( VIRT的整个象限1部分加上象限3 RES的所有显式mmap文件支持的页)下讨论--任何占用物理内存的内容,从Linux-4.5开始,是以下三个字段的总和: RSan -象限1页,其中包括任何前象限3页(如果修改为RSfd )-象限3和象限4页RSsh -象限2页RSlk -区域的子集(任何象限) SHR -区域的子集(不包括1,包括所有的2和4,约3)交换-任何象限可能使用的,除了4个使用-简单的区域和交换VIRT -所有在使用和/或保留(所有象限).

  1. 使用内存(KiB)该字段表示任务正在使用的非交换物理内存加上其地址空间(交换)中的交换部分(交换)。有关其他详细信息,请参阅“`OVERVIEW,Linux内存类型”。
  2. 虚拟内存大小(KiB)任务使用的虚拟内存总量。它包括所有代码、数据和共享库,以及已换出的页和已映射但未使用的页。有关其他详细信息,请参阅“`OVERVIEW,Linux内存类型”。
EN

回答 1

Unix & Linux用户

发布于 2018-10-29 19:47:14

用过的和VIRT有什么区别?使用的是"RES“+”交换“。"VIRT - USED“是否等于已映射但未使用的页面?

是。一般来说,这是由程序分配的空间,它从来没有触及过(大量的东西以大块的形式分配,通常是过度分配,因为分配空间在计算上是很昂贵的)。

"VIRT“或" used”包括内核空间使用的大小吗?

它们都不代表进程在内核空间中分配的空间。在大多数情况下,这并不重要,因为大多数程序在内核内存中使用的空间很小。

"RES“是否包含”代码“和”数据“?

是的,但不一定都是。代码和数据都可能部分驻留在交换区中(它们实际上可以完全驻留在交换区中,但前提是进程当时没有实际执行任何代码)。

票数 1
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/478467

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档