我们在做Linux系统优化的时候,物理内存是非常重要的,Linux也有提供很多方法来监控内存资源的使用情况,那么你知道怎么查看Linux系统中的内存吗?

   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系统中的内存?相关推荐

  1. 查看linux电脑总内存,如何查看Linux系统中的内存使用情况的命令呢?

    有些命令可用于检查Linux系统中的内存使用情况.这是一些更好的命令. 有很多工具可以查看Linux系统中的内存使用情况.一些命令被广泛使用,例如free和ps.其他命令允许以多种方式显示系统的性能统 ...

  2. Top 命令 如何查看linux系统中空闲内存/物理内存使用/剩余内存

    1.top命令 top前5行统计信息 ** 第一行: top - 13:59:30 up 15 days, 4:53, 2 users, load average: 1.31, 1.62, 1.41 ...

  3. linux查找用户前三进程_查看 Linux 系统中进程和用户的内存使用情况 | Linux 中国...

    有一些命令可以用来检查 Linux 系统中的内存使用情况,下面是一些更好的命令.-- Sandra Henry-stocker 有许多工具可以查看 Linux 系统中的内存使用情况.一些命令被广泛使用 ...

  4. linux 内存清理 释放命令,Linux系统中的内存清理和释放命令总结

    Linux内核代码量大.逻辑关系复杂,因此对内核中的错误进行追溯和调试一直以来都是一件既耗费时间又耗费精力的事情.接下来是小编为大家收集的Linux系统中的内存清理和释放命令总结,希望能帮到大家. L ...

  5. linux查询服务器的dns,如何查看Linux系统中DNS服务器的运行状况

    DNS是分布式数据库,可以让用户们方便访问互联网,而主机的dns服务器也直接影响了我们上网及访问网站的速度,那么你知道如何查看Linux系统中DNS服务器的运行状况吗? 在Linux环境下,也提供了广 ...

  6. 查看Linux系统基本信息CPU内存系统负载

    查看Linux系统基本信息 1.查看Linux系统uuid [root@localhost ~]# cat /sys/class/dmi/id/product_uuid A6E64D56-8D4F-1 ...

  7. linux查看本机所有预设的系统变量,如何设置与查看Linux系统中的环境变量?

    大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息.而 ...

  8. 如何设置与查看Linux系统中的环境变量?

    大家都知道,在 Linux 系统中,有环境变量和 Shell 变量这两种变量. 环境变量是在程序及其子程序中全局可用的,常常用来储存像默认的文本编辑器或者浏览器,以及可执行文件的路径等等这样的信息.而 ...

  9. linux如何杀死进程最快,如何在Linux系统中杀掉内存消耗最大的进程?

    作为一名博客作者,我收藏了很多博客.网站和论坛用来寻找 Linux 和 Unix 相关的内容.有时候,我在浏览器中开启了非常多的标签页,导致操作系统会无响应好几分钟.我不能移动我的鼠标,也不能杀掉一个 ...

最新文章

  1. 你以为ACI=SDN?大错特错!
  2. 圆形渐变shader_Flutter 中渐变的高级用法
  3. 安卓手机中 P 的输入
  4. 1.4.在TypeScript中使用JQuery
  5. anaconda+python3.7安装keras_win10(64)+python3.7+Anaconda3+tensorflow-cpu+Keras安装(亲测有效)...
  6. 信息学奥赛C++语言:十位能被个位和百位之和整除
  7. Go(4 [Map])
  8. LeetCode--path sum ii
  9. ios icon尺寸问题
  10. 伸缩Kubernetes到2500个节点中遇到的问题和解决方法
  11. php 61850,IEC61850客户端
  12. Java 正则表达式的用法和实例
  13. Paper Reading:BigGAN
  14. Hive 知识体系保姆级教程
  15. 何谓“pessimistic”异步FIFO的full和empty信号
  16. bk-02 C++ vector用法 博客园
  17. 声呐直线阵正交混频实验(HEU信息与信号处理创新实践项目一)
  18. 计算机视觉领域多任务学习相关论文、数据集、网络结构等资源整理分享
  19. 服务器如何多个网站和数据库,网站和数据库分两个服务器
  20. Android studio修改标题菜单栏增加功能图标(navigation bar toolbar)

热门文章

  1. 【毕业设计之微信小程序系列】基于APP的微信点餐小程序的设计与实现
  2. Markdown使用教程
  3. gprs模块http mqtt_基于GPRS模块的MQTT至MODBUS协议转换器
  4. QPSK调制与解调原理
  5. 冰河世纪4:大陆漂移
  6. 竣工验收报告主要内容
  7. STM32定时器控制LED灯闪烁及PWM练习
  8. bzoj4244: 邮戳拉力赛 dp
  9. nginx 最简单的虚拟主机配置
  10. ansible系列5-开启加速 Ansible 执行速度的功能