Linux中使用free可以查看系统内存使用状态, 默认单位为k

blue_stone@blueice:~$ free

total used free shared buffers cached

Mem: 2075320 1879172 196148 0 533484 952588

-/+ buffers/cache: 393100 1682220

Swap: 2008084 0 2008084

Mem 行显示了从系统角度看来内存使用的情况, total是系统可用的内存大小, 数量上等于系统物理内存减去内核保留的内存. buffers和cached是系统用做缓冲的内存. buffers与某个块设备关联, 包含了文件系统元数据, 并且跟踪了块的变化. cache只包含了文件本身.

-/+ buffers/cache行则从用户角度显示内存信息, 可用内存从数量上等于mem行used列值减去buffers和cached内存的大小. 因为buffers和cached是操作系统为加快系统运行而设置的, 当用户需要时, 可以只接为用户使用.

top和vmstat也显示了系统内存的信息, 和free的显示结果类似.

这些命令都是从/proc/meminfo中读取内存信息.

blue_stone@blueice:~$ cat /proc/meminfo

MemTotal: 2075320 kB

MemFree: 25016 kB

Buffers: 763564 kB

Cached: 879860 kB

SwapCached: 0 kB

Active: 1056968 kB

Inactive: 843136 kB

HighTotal: 917440 kB

HighFree: 13892 kB

LowTotal: 1157880 kB

LowFree: 11124 kB

SwapTotal: 2008084 kB

SwapFree: 2008084 kB

Dirty: 4708 kB

Writeback: 0 kB

Mapped: 707152 kB

Slab: 102728 kB

CommitLimit: 3045744 kB

Committed_AS: 691808 kB

PageTables: 2936 kB

VmallocTotal: 114680 kB

VmallocUsed: 14800 kB

VmallocChunk: 98800 kB

关于/proc/meminfo中各行的含意, 在内核源代码的Documentation/filesystems/proc.txt文件中有叙述

系统的真实内存大小可以用dmesg |grep [mM][eE][mM]看到

blue_stone@blueice:~$ dmesg |grep [mM][eE][mM]

895MB HIGHMEM available.

1152MB LOWMEM available.

HighMem zone: 229360 pages, LIFO batch:31

Memory: 2073292k/2097088k available (1493k kernel code, 21648k reserved, 546k data, 196k init, 917440k highmem)

Freeing initrd memory: 1079k freed

MEM window: f8000000-f80fffff

highmem bounce pool size: 64 pages

Freeing unused kernel memory: 196k freed

ehci_hcd 0000:00:10.4: irq 177, io mem 0xf8121000

/dev/vmnet: hub 0 does not exist, allocating memory.

[fglrx] Maximum main memory to use for locked dma buffers: 1898 MBytes.

/dev/vmnet: hub 3 does not exist, allocating memory.

/dev/vmnet: hub 1 does not exist, allocating memory.

/dev/vmnet: hub 2 does not exist, allocating memory.

进程使用的内存可以用top, ps来查看top中有3个列 VIRT RES SHR, 标示了进程使用的内存情况, VIRT标识这个进程可以使用的内存总大小, 包括这个进程真实使用的内存, 映射过的文件, 和别的进程共享的内存等. RES标识这个这个进程真实占用内存的大小. SHR标识可以和别的进程共享的内存和库大小.

/proc/pid/status显示一个进程的详细状态, 下面是一个示例:

blue_stone@blueice:~$ cat /proc/5346/status

Name: bash

State: S (sleeping)

SleepAVG: 98%

Tgid: 5346

Pid: 5346

PPid: 5343

TracerPid: 0

Uid: 1000 1000 1000 1000

Gid: 104 104 104 104

FDSize: 256

Groups: 6 24 29 44 104 113 1000 1001

VmPeak: 6528 kB

VmSize: 6528 kB

VmLck: 0 kB

VmHWM: 1976 kB

VmRSS: 1976 kB

VmData: 752 kB

VmStk: 84 kB

VmExe: 644 kB

VmLib: 1788 kB

VmPTE: 16 kB

Threads: 1

SigQ: 0/4294967295

SigPnd: 0000000000000000

ShdPnd: 0000000000000000

SigBlk: 0000000000000000

SigIgn: 0000000000384004

SigCgt: 000000004b813efb

CapInh: 0000000000000000

CapPrm: 0000000000000000

CapEff: 0000000000000000

VmSize即为该进程内存总大小, 和top输出中的VIRT一致.

linux机器查看物理内存,Linux系统中下查看内存的方法相关推荐

  1. linux 找回网卡的uuid_Linux系统怎么查看网卡的UUID

    在linux系统下查看网卡的UUID需要nmcli命令,但是该命令系统没有提供. 1.首先要查看哪个软件包提供了该命令 [root@tpp ~]# yum provides "*/nmcli ...

  2. linux查看存储阵列,AIX系统下查看磁盘阵列

    AIX系统下查看磁盘阵列 [日期:2012-07-08] 来源:Linux社区 作者:Linux [字体:大 中 小] 在AIX中DISK ARRAY的相关设备是用如下AIX设备名来表现的: 连接一台 ...

  3. linux高端物理内存,Linux内存管理之高端内存

    看了Linux内核内存管理,参考网上的意见整理了一下. 1.页框管理 Linux采用4KB页框大小作为标准的内存分配单元.内核必须记录每个页框的状态,这种状态信息保存在一个类型为page的页描述符中, ...

  4. linux 修改pe,修改PE系统设定的2种方法

    修改PE系统设定的2种方法 用惯了普通的winpe,看惯了它一成不变的样子,是不是让你有想修改WinPE系统设定的冲动,但是修改WinPE系统设定可不像Windows系统.Linux等那样简单,下面看 ...

  5. 计算机图片查看方式,Win10系统如何查看图片显示形式?查看的方法

    全新的 Windows10系统 自带了很多种不同的图片显示形式供用户选择.不过,一些刚刚升级win10的朋友,甚至都不知道该如何选择查看图片显示形式.这该怎么办呢?接下来,PConline小编就为大家 ...

  6. 系统服务器查看snmp,windows7系统打开snmp服务的方法(图文)

    许多人询问小编说windows7系统如何打开snmp服务?snmp服务由一组网络管理的标准组成,包含一个应用层协议.数据库模型和一组资源对象.可是windows7系统怎么打开snmp服务呢?相信还是有 ...

  7. 服务器加内存系统,服务器加内存的方法

    服务器加内存的方法 内容精选 换一换 登录Windows操作系统的弹性云服务器时,需使用密码方式登录.因此,用户需先根据创建弹性云服务器时使用的密钥文件,获取该弹性云服务器初始安装时系统生成的管理员密 ...

  8. 安卓linux环境 查看进程,查看基于Android 系统单个进程内存、CPU使用情况的几种方法...

    一.利用Android API函数查看 1.1 ActivityManager查看可用内存. ActivityManager.MemoryInfo outInfo = new ActivityMana ...

  9. Linux 查看内核以及系统版本的3种方法

    文章目录 1.使用uname命令查看 2.使用hostnamectl命令查看 3.通过查看 /proc/version 文件确认 1.使用uname命令查看 uname命令显示多个系统信息,包括Lin ...

最新文章

  1. spring cloud Alibaba Sentinel中文文档
  2. 寄存器指令MIPS 寄存器介绍
  3. 红帽子linux生效环境变量,RedHat Linux 5无法使用ifconfig的解决方法
  4. tab vue 竖排_vue 实现tab切换保持数据状态
  5. 持续集成与持续部署宝典Part 4:创建持续部署流水线
  6. git 代码回滚_谁说用 Git 一定要用命令行?试试 SourceTree 吧
  7. markdownFormat
  8. paip.web service技术在 JAVA与.NET中的应用流程方案
  9. 自动化测试工具Selenium Appium
  10. 在oracle中插入语句要求,oracle插入语句
  11. at+cipstart返回state:tcp close解决方案 SIM868模块使用
  12. Vue3学习笔记(B站李南江)
  13. 猎头解密互联网公司offer行情,网易游戏研发高达40W--IT薪资待遇
  14. 使用Xamarin实现跨平台移动应用开发(转载)
  15. NCRE——网络工程师——操作系统
  16. 电脑连不上网故障排查思路
  17. 面子对中国人为什么这么重要
  18. Package com.google.common.collect
  19. tf.cancat() 详解 —》理解为主
  20. python小数点处理_如何在python中打小数点

热门文章

  1. win10电脑打开此电脑、资源管理器、任务管理器软件等突然很慢很慢,cup、内存、磁盘利用率却很低
  2. 事件对象(event)
  3. 百度智能云.图像特效:人像动漫化
  4. DCHP协议的工作流程简述
  5. 阿里云弹性计算开发面试
  6. 微型计算机snb评测,战斗冰河世纪 强SNB-E的极限超频之旅
  7. CAP原理,分布式一致性算法,两阶段提交,三阶段提交,Paxos,Raft,zookeeper的选主过程,zab协议,顺序一致性,数据写入流程,节点状态,节点的角色
  8. HTML5期末大作业 基于HTML+CSS+JavaScript学校官网首页(实训素材)
  9. 笔记——MPEG视像
  10. 即时与及时有什么区别_仙剑奇侠传6即时制与回合制有什么区别 怎么切换回合制...