记忆 – 如何计算htop“Swp”?

当我运行htop(在OS X 10.6.8上)时,我看到这样的事情:
  1  [|||||||                    20.0%]     Tasks: 70 total,0 running
  2  [|||                         7.2%]     Load average: 1.11 0.79 0.64 
  3  [|||||||||||||||||||||||||||81.3%]     Uptime: 00:30:42
  4  [||                          5.8%]
  Mem[|||||||||||||||||||||3872/4096MB]
  Swp[                           0/0MB]

  PID USER     PRI  NI  VIRT   RES   SHR S cpu% MEM%   TIME+  Command                                                                      
  284 501       57   0 15.3G 1064M     0 S  0.0  6.5  0:01.26 /Applications/Firefox.app/Contents/MacOS/firefox -psn_0_90134                
  437 501       57   0 14.8G  785M     0 S  0.0  4.8  0:00.18 /Applications/Thunderbird.app/Contents/MacOS/thunderbird -psn_0_114716
  428 501       63   0 12.8G  351M     0 S  1.0  2.1  0:00.51 /Applications/Firefox.app/Contents/MacOS/plugin-container.app/Contents/MacOS/
  696 501       63   0 11.7G  175M     0 S  0.0  1.1  0:00.02 /System/Library/Frameworks/QuickLook.framework/Resources/quicklookd.app/Conte
   38 0         33   0 11.1G  422M     0 S  0.0  2.6  0:00.59 /System/Library/Frameworks/CoreServices.framework/Frameworks/Metadata.framewo
  183 501       48   0 10.9G  137M     0 S  0.0  0.8  0:00.03 /System/Library/CoreServices/Finder.app/Contents/MacOS/Finder

如何使用千兆字节的VIRT内存并且仍使用0MB的Swap进程?

解决方法

VIRT与已用内存(虚拟或其他)没有任何关系,但与已使用的地址空间无关,这与您可能认为的不相关.

现代操作系统(包括OSX)具有称为demand paging功能,其通过告知操作系统将虚拟地址空间的某个区域映射到文件(例如共享库/ DLL)来工作.只有当程序试图读取文件加载到内存中的那些虚拟地址时.

如果这些共享库实际上是共享的,那么操作系统实际上将跨多个进程共享物理内存;也就是说,这些数十亿字节的大量不仅是文件支持的库,而且也是相同的文件支持的库.

此外,如果需要暂存(对于数据;设置,位图,声音等),并且没有任何物理页面未使用,操作系统实际上会丢弃这些文件支持区域的内容并将它们提供给您的应用程序.如果再次需要这些页面,操作系统可以简单地从磁盘重新加载它们.

Swap(SWP)是该临时存储器的特殊文件支持区域.创建交换空间将允许操作系统将临时内存移动到磁盘而不是(由更多正在运行的进程使用)共享库,通常可以提高性能,也许最令人惊讶的是,产生的交换少于没有交换空间的交换空间.

相关文章

1、安装Apache。 1)执行如下命令,安装Apache服务及其扩展包...
一、先说一下用ansible批量采集机器信息的实现办法: 1、先把...
安装配置 1. 安装vsftpd 检查是否安装了vsftpd # rpm -qa | ...
如何抑制stable_secret读取关键的“net.ipv6.conf.all.stabl...
1 删除0字节文件 find -type f -size 0 -exec rm -rf {} ...
## 步骤 1:安装必要的软件包 首先,需要确保系统已安装 `dh...