`
雨过天晴0521
  • 浏览: 159533 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

(转)如何查看linux闲置和占用的内存

 
阅读更多
在Linux下查看内存我们一般用free命令, 也可以加-m参数,以M为单位显示。不加参数默认以kb为单位。

[root@scs-2 tmp]# free
                        total        used        free      shared     buffers     cached
Mem:       3266180    3250004      16176          0     110652    2668236
-/+ buffers/cache:     471116    2795064
Swap:      2048276      80160    1968116

下面是对Linux查看内存命令中这些数值的解释:
total:总计物理内存的大小。
used:已使用多大。
free:可用有多少。
Shared:多个进程共享的内存总额。
Buffers/cached:磁盘缓存的大小。
第三行(-/+ buffers/cached):
used:已使用多大。
free:可用有多少。
第四行就不多解释了。


区别:第二行(mem)的used/free与第三行(-/+ buffers/cache) used/free的区别。

这两个的区别在于使用的角度来看,第一行是从OS的角度来看,因为对于OS,buffers/cached 都是属于被使用,所以他的可用内存是16176KB,已用内存是3250004KB,其中包括,内核(OS)使用+Application(X, oracle,etc)使用的+buffers+cached.

第三行所指的是从应用程序角度来看,对于应用程序来说,buffers/cached 是等于可用的,因为buffer/cached是为了提高文件读取的性能,当应用程序需在用到内存的时候,buffer/cached会很快地被回收。这就是为什么我们通过free命令查看机器空闲内存时,会发现free的值很小。这主要是因为,在linux中有这么一种思想,内存不用白不用,因此它尽可能的cache和buffer一些数据,以方便下次使用。但实际上这些内存也是可以立刻拿来使用的
所以从应用程序的角度来说,

可用内存(空闲内存) = 系统free memory + buffers + cached = 系统total memory - 系统used memory

如上例:
2795064=16176+110652+2668236

接下来解释什么时候内存会被交换,以及按什么方交换。 当可用内存少于额定值的时候,就会开会进行交换。


补充1

Linux查看内存命令时如何看额定值

cat /proc/meminfo
[root@scs-2 tmp]# cat /proc/meminfo

另外不建议查看/proc/kcore来判断的内存大小, 这个值并不准确。kcore这个文件指的的可被内核分配的空间,但根据实验来看,并非如此。其还提示说,在64bit的OS中,这个文件大小最大可以达到128T,因为64bit的OS最大寻址内存范围局限128T。
[root@scs-2 tmp]# ll -h /proc/kcore
-r-------- 1 root root 4.1G Jun 12 12:04 /proc/kcore

补充2

如何产看一个进程占用内存的大小

测量一个进程占用了多少内存,linux为我们提供了一个很方便的方法,/proc目录为我们提供了所有的信息,实际上top等工具也通过这里来获取相应的信息。
/proc/meminfo 机器的内存使用信息
/proc/pid/maps pid为进程号,显示当前进程所占用的虚拟地址。
/proc/pid/statm 进程所占用的内存



分享到:
评论

相关推荐

    查看Linux下系统资源占用常用命令.docx

    Linux操作系统提供了多种命令来查看和监控系统资源的占用情况,这些命令对于系统管理员来说非常重要。本文将介绍三种常用的命令:top命令、free命令和uptime命令。 1. top命令 top命令是一个功能强大的监控系统...

    linux下查看最消耗CPU、内存的进程

    本文将详细介绍如何在Linux环境下查看哪些进程消耗了最多的CPU和内存资源。 #### 一、查看最消耗CPU资源的进程 1. **查看CPU占用率最高的前10个进程** 使用`ps auxw`命令可以列出所有进程的信息,并通过管道(`|`...

    Linux交换空间(SWAP)配置[定义].pdf

    Linux 交换空间(SWAP)是一种虚拟内存技术,用于扩展计算机的物理内存,提高系统性能和稳定性。在 Linux 系统中,SWAP 空间是将一部分硬盘空间分配出来,用于存储当前内存中不能存放的数据,以便释放物理内存资源,...

    linux系统的监控命令

    Linux系统监控是管理和维护服务器健康状态的关键工具,它允许管理员实时查看系统资源的使用情况,以便于优化性能、排查问题。本文将详细讲解两个常用的Linux监控命令:`top`和`vmstat`。 首先,`top`命令是Linux...

    linux进程管理pdf文件

    - **%MEM**:占用内存的百分比。 - **VSZ**:虚拟内存大小。 - **RSS**:实际使用的物理内存大小。 - **TTY**:进程的工作终端,`?` 表示没有终端。 - **STAT**:进程的状态。 - **START**:启动时间。 - **TIME**:...

    Linux必学的系统管理命令.doc

    进程的详细信息,包括进程标示号、进程所有者的用户名、进程的优先级别、进程占用的虚拟内存值、进程占用的物理内存值、进程使用的共享内存值、进程的状态、进程占用的 CPU 使用率、进程占用的物理内存和总内存的...

    CE Linux PM讲义 CE Linux PM讲义 CE Linux PM讲义

    CE Linux是嵌入式Linux的一种变体,专为消费电子产品(Consumer Electronics,CE)设计,提供了针对这些设备特性的优化,包括小巧的内存占用、低功耗和实时性能。 CE Linux PM(电源管理)是嵌入式系统设计中的关键...

    LinuxTop命令解析.pdf

    - 内存和交换分区的总量、已用、剩余和缓存。 - 按CPU使用率、内存使用等排序的进程列表,显示每个进程的PID、用户、优先级、虚拟内存、物理内存、CPU使用率等。 5. **应用场景** - 监控系统性能瓶颈,找出CPU或...

    linux常用指令 个人总结

    `USER`列显示进程所有者,`PID`是进程ID,`%CPU`和`%MEM`分别表示CPU和内存使用率,`VSZ`和`RSS`分别是虚拟内存和物理内存占用,`TTY`表示进程所在的终端。 此外,Linux中还有其他重要命令: - **sudo**:允许用户...

    Linux必学的60个命令(3)-系统管理

    首先,`df`命令是用于查看文件系统磁盘空间占用情况的工具。它能提供关于系统中各个文件系统总容量、已用空间、可用空间以及挂载点等信息。`df`命令的基本格式为`df [options]`,其中`options`可以包括多个参数。...

    Nmon for linux

    2. **内存监控**:分析物理内存和交换空间的使用情况,包括总内存、已用内存、空闲内存和缓存。 3. **磁盘I/O监控**:跟踪磁盘读写速度,列出每个分区的读写操作数量和速率,帮助找出可能的I/O瓶颈。 4. **网络...

    Linux的top命令解析_docx1

    3. **第四、五行** 展示了内存和交换分区的使用情况,包括总内存、已用内存、空闲内存、缓冲区和缓存的大小,以及交换分区的使用情况。 **进程信息区** 列出了系统中运行的所有进程,并按照CPU占用率进行排序。每个...

    Linux监控cpu以及内存使用情况之top命令(详解)

    `top` 命令是Linux系统中一个非常重要的性能监控工具,它可以实时地展示系统中各个进程的资源占用情况,包括CPU和内存使用情况等。在功能上与Windows系统的任务管理器类似。 `top` 命令不仅可以显示系统的实时状态...

    Linux Top命令参详解

    `top` 命令是 Linux 系统中最常用的系统监控工具之一,它能够实时地显示系统中各个进程的资源占用状况,包括 CPU 使用率、内存使用情况等。在实际应用中,无论是对于系统管理员还是普通用户来说,掌握 `top` 命令的...

    linux查看cpu使用情况(top)命令.docx

    4. **Memory usage (Mem)**: 包括总内存、空闲内存、已用内存、共享内存和缓存。 5. **Swap usage (Swap)**: 同样显示交换空间的总量、可用和已用情况。 6. **PID, PPID, UID, USER, PRI, NI, SIZE, TSIZE, DSIZE, ...

    Linux操作系统上必需要学的系统管理命令.doc

    `top`命令的输出包含丰富的信息,如当前时间、系统负载、CPU和内存使用情况,以及各个进程的详细信息,如PID、用户、优先级、内存和CPU占用率等。这对于系统性能分析和故障排查非常有价值。 理解并熟练使用`df`和`...

    linux查看cpu使用情况(top)命令.pdf

    4. **Mem & Swap**:内存和交换空间的使用情况。 5. **PID/PPID/UID**:进程ID、父进程ID和所有者的用户ID。 6. **USER/PRI/NI**:进程所有者、优先级和nice值。 7. **SIZE/TSIZE/DSIZE/TRS/LIB/RSS/SHARE**:进程...

Global site tag (gtag.js) - Google Analytics