mac当中的内存使用标示跟Linux并不一样,mac里面有这样的四种:

wired, active, inactive, free

其中wired是不能通过操作系统调度来协调的内存,用了多少就是多少;

active是表示当前系统的软件等使用所占用的内存,是有效的数据

inactive表示内存数据曾经被使用过,但最近没有使用,有效的数据

free表示数据无效,也就是随时可以被操作系统调度用来做别的事情

所以一般一个比较正常健康的操作系统的内存状态是inactive和free能够有相对充足的余量,一般来说操作系统都会尽可能地占用内存(“不用白不用”的策略),所以free可能并不是很大,不过inactive足够就表示其实内存还是够用的。

然后vm_stat的直接调用输出大概这样子

Mach Virtual Memory Statistics: (page size of 4096 bytes)

Pages free: 6850.

Pages active: 620164.

Pages inactive: 446778.

Pages speculative: 159203.

Pages throttled: 0.

Pages wired down: 863445.

Pages purgeable: 55353.

"Translation faults": 131845422.

Pages copy-on-write: 235645.

Pages zero filled: 128877820.

Pages reactivated: 244.

Pages purged: 384356.

File-backed pages: 452799.

Anonymous pages: 773346.

Pages stored in compressor: 0.

Pages occupied by compressor: 0.

Decompressions: 0.

Compressions: 0.

Pageins: 408195.

Pageouts: 0.

Swapins: 0.

Swapouts: 0.

输出的数字单位并不是M,不直观,可以自己手动计算转换为M,也可以通过这样的一个python程序(命名为mac_free.py)能够转化为更加可读的方式,编辑好mac_free.py 后执行python mac_free.py 可看到类似这样的结果

Wired Memory: 3110 MB

Active Memory: 2540 MB

Inactive Memory: 1837 MB

Free Memory: 31 MB

Real Mem Total (ps): 4610.809 MB

mac_free.py的代码如下

#!/usr/bin/python

'''

Created on Jun 1, 2014

@author: jay

'''

import subprocess

import re

# Get process info

ps = subprocess.Popen(['ps', '-caxm', '-orss,comm'], stdout=subprocess.PIPE).communicate()[0]

vm = subprocess.Popen(['vm_stat'], stdout=subprocess.PIPE).communicate()[0]

# Iterate processes

processLines = ps.split('\n')

sep = re.compile('[\s]+')

rssTotal = 0 # kB

for row in range(1,len(processLines)):

rowText = processLines[row].strip()

rowElements = sep.split(rowText)

try:

rss = float(rowElements[0]) * 1024

except:

rss = 0 # ignore...

rssTotal += rss

# Process vm_stat

vmLines = vm.split('\n')

sep = re.compile(':[\s]+')

vmStats = {}

for row in range(1,len(vmLines)-2):

rowText = vmLines[row].strip()

rowElements = sep.split(rowText)

vmStats[(rowElements[0])] = int(rowElements[1].strip('\.')) * 4096

print 'Wired Memory:\t\t%d MB' % ( vmStats["Pages wired down"]/1024/1024 )

print 'Active Memory:\t\t%d MB' % ( vmStats["Pages active"]/1024/1024 )

print 'Inactive Memory:\t%d MB' % ( vmStats["Pages inactive"]/1024/1024 )

print 'Free Memory:\t\t%d MB' % ( vmStats["Pages free"]/1024/1024 )

print 'Real Mem Total (ps):\t%.3f MB' % ( rssTotal/1024/1024 )

linux mac怎么看内存,mac下查看内存信息相关推荐

  1. linux下查看内存使用情况

    在Linux下查看内存我们一般用free命令: [root@scs-2 tmp]# free              total       used       free     shared   ...

  2. linux内存平均值,linux下查看内存使用情况[转载]

    在Linux下查看内存我们一般用free命令: [root@scs-2 tmp]# free total used free shared buffers cached Mem: 3266180 32 ...

  3. Linux下查看内存型号、主板、硬盘等等

    @Linux下查看内存型号.主板.硬盘等等 首先查看是否安装了dmidecode工具 [root@algerfan ~]# dmidecode Linux 查看内存的插槽数,已经使用多少插槽.每条内存 ...

  4. linux脚本查看系统内存,二个linux下查看内存使用情况的shell脚本()

    摘要 腾兴网为您分享:二个linux下查看内存使用情况的shell脚本(),政务易,悦作业,优化大师,王者荣耀等软件知识,以及单向历app,优路教育app,kimoji,开关电源设计软件,皮皮高清影视 ...

  5. Mac电脑终端下查看电脑信息的相关指令

    Mac电脑终端下查看电脑信息的相关指令 //1.查看系统内核名称: ishios-MacBook-Pro:~ shixiongwei$ uname -s Darwin//2.网络主机名: ishios ...

  6. linux系统查看电脑设备型号,Linux和Unix下查看硬件信息(CPU型号,内存型号,硬盘型号,主板型号)...

    Linux 下查看硬件信息: CPU型号:cat /proc/cpuinfo 内存大小:top 内存型号:dmidecode |grep -A16 "Memory Device$" ...

  7. linux 查看硬件 工具,linux下查看硬件信息方法

    想知道怎么查看电脑的硬件信息吗,下面是学习啦小编带来linux下查看硬件信息方法的内容,欢迎阅读! linux下查看硬件信息方法: 建议直接进主板的bios查看硬件信息 linux的话看具体什么版本了 ...

  8. linux 怎么查看go版本,如何在Linux下查看版本信息

    Linux下如何查看版本信息, 包括位数.版本信息以及CPU内核信息.CPU具体型号等等,整个CPU信息一目了然. 1.# uname -a   (Linux查看版本当前操作系统内核信息) Linux ...

  9. linux 下查看帮助信息

    linux 下查看帮助信息 linux查看某个外部命令的帮助文档的方法是: man [option] + CMD(这里的CMD是指你所要查看帮助的命令) 或者 command -h           ...

  10. linux查看显示器名称命令,linux 查看显示器信息Linux下查看硬件信息命令大全

    /proc 虚拟的目录,是系统内存的映射.可直接访问这个目录来获取系统信息.其中也包含下面的信息: 主机CPU信息:cpuinfo 主机DMA通道信息:dma 文件系统信息:filesystems 主 ...

最新文章

  1. shell编程1到10求和_重磅|郑州市第四届中小学创意编程暨智能设计大赛初中组真题解析(下)...
  2. 二.无显示器远程连接树莓派
  3. java把一个list_java 把一个大list分成N个小list,然后用map存储的小方法
  4. 洛谷1231 教辅的组成
  5. Dotnet 2.0配置系统
  6. Device /dev/ttyUSB0 is locked.解决办法
  7. Windows 10 之重新安装应用
  8. django-反向解析-命名分组路由的反解
  9. WEB流程设计器 = jQuery + jsPlumb + Bootstrap
  10. html中为什么style中不显示发光点,css实现发光文字,以及一点点js特效
  11. SpiderKeeper的使用
  12. 无人驾驶入门(雷达、定位和高精地图)
  13. 编译安装dropbear
  14. 同时调用函数和此函数的返回函数:func()()
  15. 【计算机图形学实验1——实现中点画线算法、Bresenham画线算法】
  16. python读书笔记2000_python高级编程读书笔记(一)
  17. Ubuntu 16.04版本的 网易云音乐 linux 安装包资源以及下载过程
  18. 爬取东方财富网股票行情数据和资讯
  19. 运行内存那么大怎么清理
  20. Spring AOP动态代理

热门文章

  1. PTA-7-32 说反话-加强版(C语言)
  2. Windows xp 在VMware虚拟机上面安装的详细步骤
  3. 中国医科大学2021年9月《中医护理学基础》作业考核试题
  4. 【数据集汇总(附下载链接)】再也不愁没数据练习机器学习算法啦!
  5. Android布局include的用法
  6. 基于SpringBoot、MyBatis-plus实现双数据源定时同步
  7. SQL操作结果——并集、差集、交集
  8. 常用的时间同步服务器地址
  9. 【BZOJ4715】囚人的旋律
  10. gcoord: 转换WGS84、GCJ02、BD09坐标,转换百度高德地图坐标系