【操作系统】MacOS虚拟内存统计指标

目录

命令及其结果

参数解读

有趣的实验


在 macOS 系统中,虚拟内存统计指标提供了对系统内存使用情况和虚拟内存操作的重要洞察。通过分析这些指标,我们可以更好地了解系统的性能状况和内存管理情况。

命令及其结果

>>> vm_stat
Mach Virtual Memory Statistics: (page size of 4096 bytes)
Pages free:                                7665.
Pages active:                           7161271.
Pages inactive:                         7157755.
Pages speculative:                         1684.
Pages throttled:                              0.
Pages wired down:                       1454118.
Pages purgeable:                          26180.
"Translation faults":                6791372835.
Pages copy-on-write:                   57696402.
Pages zero filled:                   1703440882.
Pages reactivated:                    152904898.
Pages purged:                           2745445.
File-backed pages:                      2962038.
Anonymous pages:                       11358672.
Pages stored in compressor:            12269616.
Pages occupied by compressor:            993465.
Decompressions:                       188199124.
Compressions:                         377521942.
Pageins:                               63862215.
Pageouts:                                361515.
Swapins:                               24523111.
Swapouts:                              29537178.

参数解读

  1. Pages free: 这个指标表示系统中当前可用的空闲页面数量。在需要分配新内存时,这些空闲页面将被使用。
  2. Pages active: 表示当前正在使用或最近被使用的页面数量。这些页面包含了当前正在执行的程序或者最近被访问的数据。
  3. Pages inactive: 表示最近被使用过但现在处于不活跃状态的页面数量。这些页面保留在内存中,以便在需要时快速访问。
  4. Pages speculative: 这些页面被系统预测会被使用,但实际上并未被使用。
  5. Pages throttled: 表示因系统资源限制而被限制访问的页面数量。
  6. Pages wired down: 无法交换出到磁盘的页面数量,通常包含了内核和系统重要数据。
  7. Pages purgeable: 可以被移除或清除的页面数量,以释放内存空间。
  8. Translation faults: 表示在虚拟内存中发生的页转换错误次数,包括缺页中断。
  9. Pages copy-on-write: 表示发生写时复制的页面数量,用于在进程间共享数据时避免写操作相互影响。
  10. Pages zero filled: 表示被填充为零的页面数量,通常用于初始化时分配给进程。
  11. Pages reactivated: 表示被重新激活的页面数量,曾经处于非活跃状态但现在又被重新使用。
  12. Pages purged: 表示被清除或移除的页面数量,通常用于释放内存空间。
  13. File-backed pages: 表示文件支持的页面数量,包含与文件关联的数据。
  14. Anonymous pages: 表示不与文件关联的页面数量,通常包含动态分配的堆内存等。
  15. Pages stored in compressor: 表示存储在压缩器中的页面数量,用于节省内存空间。
  16. Pages occupied by compressor: 表示压缩器占用的页面数量,用于存储压缩后的页面数据。
  17. Decompressions: 表示解压缩的次数,从压缩状态恢复到原始页面状态。
  18. Compressions: 表示压缩的次数,将页面压缩以节省内存空间。
  19. Pageins: 表示页面调入次数,从磁盘调入页面到内存中。
  20. Pageouts: 表示页面调出次数,将页面从内存调出到磁盘中。
  21. Swapins: 表示交换进程的次数,从交换文件中调入进程到内存中。
  22. Swapouts: 表示交换出进程的次数,将进程调出到交换文件中释放内存空间。

有趣的实验

如下代码,可在macos上运行,但在linux上会OOM(如果内存不足的情况)

a=[1]*1024*1024*1024
b=[2]*1024*1024*1024# 上述代码会占用内存,每个约9GB的样子
c = []
c.extend(a)
c.extend(b)

上述代码中,执行extend方法过内存会继续增长,此时如果linux的内存(包括虚拟内存)不足,会直接oom。

MacOS中则不同,MacOS中可以申请到很大的虚拟内存,代码可以正常执行。

通过htop命令可以发现,MacOS下的虚拟实际虚拟内存大小。

这里可以看到MacOS交换内存大小为23G,实际测试下来,程序的虚拟内存占用甚至可以到500GB以上,这个远远超出了实际内存+虚拟内存的大小。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://xiahunao.cn/news/2774031.html

如若内容造成侵权/违法违规/事实不符,请联系瞎胡闹网进行投诉反馈,一经查实,立即删除!

相关文章

Qt程序设计-读写CSV文件

本文实例演示Qt读写CSV文件实现 创建项目 添加两个按钮和一个显示路径的label 界面如下 UI界面 <?xml version="1.0" encoding="UTF-8"?> <ui version="4.0"><class>MainWindow</class><widget class="QM…

Redis篇之集群

一、主从复制 1.实现主从作用 单节点Redis的并发能力是有上限的&#xff0c;要进一步提高Redis的并发能力&#xff0c;就需要搭建主从集群&#xff0c;实现读写分离。主节点用来写的操作&#xff0c;从节点用来读操作&#xff0c;并且主节点发生写操作后&#xff0c;会把数据同…

年货大数据(电商平台年货节数据):水果销售额增长72%,海鲜肉类涨幅高于蔬菜

春节临近&#xff0c;生鲜又成了线上线下“叫卖”狠&#xff0c;竞争大&#xff0c;盈利好的行业之一。无论是线下商超&#xff0c;还是线上电商&#xff0c;生鲜行业在年货节期间不愁没有市场需求。 根据鲸参谋数据显示&#xff0c;1月前三周京东平台生鲜市场整体销量超3300万…

yt-dlp快速上手

之前用xx下载视频经常遇到网络报错&#xff0c;于是使用 yt-dlp 这个新的yt下载工具。 安装教程 安装方法1&#xff1a;pip安装 可以使用pip安装yt-dlp&#xff0c;然后可以全局使用 使用pip快速安装如下: python3 -m pip install -U yt-dlp不安装其他依赖的安装命令如下:…

npm 上传一个自己的应用(4) 更新自己上传到NPM中的工具版本 并进行内容修改

前面 npm 上传一个自己的应用(2) 创建一个JavaScript函数 并发布到NPM 我们讲了将自己写的一个函数发送到npm上 那么 如果我们想到更好的方案 希望对这个方法进行修改呢&#xff1f; 比如 我们这里加一个方法 首先 我们还是要登录npm npm login然后 根据要求填写 Username 用…

【doghead】VS2022 win11 安装配置WSL2 以编译linux端的cmake项目并运行1

Visual Studio 2022 在Windows上编译调试WSL2 CMake Linux工程 好像是我自己的vs2022的一个插件支持rust https://github.com/kitamstudios/rust-analyzer.vs/blob/master/PREREQUISITES.md Latest rustup (Rust Toolchain Installer). Install from here. Welcome to Rust!Th…

【前端web入门第五天】01 结构伪类选择器与伪元素选择器

文章目录: 1.结构伪类选择器 1.1 nth-child(公式) 2.伪元素选择器 1.结构伪类选择器 作用:根据元素的结构关系查找元素。 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E元素&#xff08;第一个元素N值为1) 一个列表结构…

Vue前端框架--Vue工程项目问题总结{脚手架 Vue-cli}

Vue脚手架部署问题总结 我所遇到的一共两大问题 只有先执行npm install之后 才能run serve 否则会报错 vue-cli-serve不是内部或者外部的命令&#xff0c;也不是可运行的程序或者批处理文件的错误 1. 运行npm install会报错 2. 运行npm run serve报错 nodejs官网为 https://no…

【动态规划】【前缀和】【C++算法】LCP 57. 打地鼠

作者推荐 视频算法专题 本文涉及知识点 动态规划汇总 C算法&#xff1a;前缀和、前缀乘积、前缀异或的原理、源码及测试用例 包括课程视频 LCP 57. 打地鼠 勇者面前有一个大小为3*3 的打地鼠游戏机&#xff0c;地鼠将随机出现在各个位置&#xff0c;moles[i] [t,x,y] 表…

【Git版本控制 04】标签管理

目录 一、创建标签 二、查看标签 三、推送标签 四、删除标签 一、创建标签 标签tag&#xff0c;是对某次 commit 的⼀个标识&#xff0c;相当于起了⼀个别名。 相较于难以记住的 commit id &#xff0c; tag 很好的解决这个问题&#xff0c;因为 tag ⼀定要给⼀个让⼈容易…

【RT-DETR有效改进】计算训练好权重文件对应的FPS、推理每张图片的平均时间(科研必备)

👑欢迎大家订阅本专栏,一起学习RT-DETR👑 一、本文介绍 本文给大家带来的改进机制是利用我们训练好的权重文件计算FPS,同时打印每张图片所利用的平均时间,模型大小(以MB为单位),同时支持batch_size功能的选择,对于轻量化模型的读者来说,本文的内容对你一定有…

【数据结构与算法】二叉树(Binary Tree)

相关推荐&#xff1a;堆&#xff08;Heap&#xff09; / 堆排序&#xff08;HeapSort&#xff09; / TopK 文章目录 1.树1.1 树相关概念1.2 举例树的应用 2. 二叉树2.1 二叉树分类2.2 特殊的二叉树2.3 二叉树的存储结构 3. 二叉树实现与热门问题 1.树 树是一种非线性的数据结构…

金融行业专题|证券超融合架构转型与场景探索合集(2023版)

更新内容 更新 SmartX 超融合在证券行业的覆盖范围、部署规模与应用场景。新增操作系统信创转型、Nutanix 国产化替代、网络与安全等场景实践。更多超融合金融核心生产业务场景实践&#xff0c;欢迎阅读文末电子书。 在金融行业如火如荼的数字化转型大潮中&#xff0c;传统架…

小知识:UAC 对话框的颜色所代表的含义

如果 Windows Vista 启用了用户账户控制(UAC, User Account Control)之后&#xff0c;如果你对一个可执行程序右键&#xff0c;并以管理员身份运行&#xff0c;则会弹出一个权限提升对话框&#xff0c;上面会显示一段警告信息并带有不同的颜色。 下面我们来看看各种不同的颜色…

ownips的自救指南:一次账号封停事件的心路历程与解决策略

前言 小明以前是全球500强电商类公司的运营工作人员&#xff0c;在事业的上升期日入斗金、年薪百万&#xff0c;后面分钱时被产品、总监、老板瓜分了大头&#xff0c;大气都大敢出。由于小明掌握了核心技术&#xff0c;从联系品牌供应商、电商选品、用户行为调研、用户画像收集…

如何在Windows系统上部署docker

上次在Windows系统上部署成功Ubuntu系统&#xff0c;这次准备在Windows上部署docker desktop应用 这个应用软件类似于虚拟机&#xff0c;可以在该应用软件上部署多个镜像容器。其最直观的表现就是可以借用Windows和Ubuntu终端来访问docker“模拟的系统”。 Docker简介 Docke…

《合成孔径雷达成像算法与实现》Figure6.8

clc clear close all参数设置 距离向参数设置 R_eta_c 20e3; % 景中心斜距 Tr 2.5e-6; % 发射脉冲时宽 Kr 20e12; % 距离向调频率 alpha_os_r 1.2; % 距离过采样率 Nrg 320; % 距离线采样数 距离向…

Flink流式数据倾斜

1. 流式数据倾斜 流式处理的数据倾斜和 Spark 的离线或者微批处理都是某一个 SubTask 数据过多这种数据不均匀导致的&#xff0c;但是因为流式处理的特性其中又有些许不同 2. 如何解决 2.1 窗口有界流倾斜 窗口操作类似Spark的微批处理&#xff0c;直接两阶段聚合的方式来解决…

Maven之安装自定义jar到本地Maven仓库中

Maven之安装自定义jar到本地Maven仓库中 文章目录 Maven之安装自定义jar到本地Maven仓库中1. 命令行窗口安装方式1. 常用参数说明2. 安装实例 2. IDEA中安装方式3. 使用 1. 命令行窗口安装方式 安装指定文件到本地仓库命令&#xff1a;mvn install:install-file; 在windows的cm…

DAC调节DCDC输出电压的电路方案分析

BUCK型电源芯片的调压方式分析 1、前题 BUCK型的电源芯片非常多&#xff0c;常用的如LM2576、LM2596等等&#xff0c;这种芯片优点很多&#xff0c;比如功率大、体积小、效率高等。这种芯片一般都可以通过电阻分压的方式设定反馈脚VFB的电压来改变电源芯片的输出电压。但最近…