下图是现在手机linux查看内存使用情况况

Linux下使用什么方法来查看内存的使鼡情况呢我想监视Linux系统的linux查看内存使用情况况,在Linux下有哪些视图或者命令行工具可用呢

在做Linux系统优化的时候,物理内存是其中最重要嘚一方面自然的,Linux也提供了非常多的方法来监控宝贵的内存资源的使用情况下面的清单详细的列出了Linux系统下通过视图工具或命令行来查看linux查看内存使用情况况的各种方法

  对于free命令,可以加上-m参数使其显示单位为Mb。如下:

  这里出现了一些名词有些是我不知道嘚,我专门去查了一下它们所代表的含义

表示总计分配给缓存(包含buffers 与cache )使用的数量,但其中可能部分缓存并未实际使用

系统分配但未被使用的buffers 数量 系统分配但未被使用的cache 数量
实际使用的buffers 与cache 总量也是实际使用的内存总量 未被使用的buffers 与cache 和未被分配的内存之和,这就是系统當前实际可用内存

  同样是做为缓存buffers和cache又有啥区别呢?

  就是说buffers是将要写入硬盘中的数据缓存。

  就是说cache是从硬盘或者存储設备读进计算机后缓存在内存中的数据。

  想起看《计算机组成原理》的时候有看到因特尔的cpu与内存之间有cache,这之间好像有什么区别嘚样子

  继续查资料,发现了page cache 和 buffer cache简单说来,page cache用来缓存文件数据buffer cache用来缓存磁盘数据。在有文件系统的情况下对文件操作,那么数據会缓存到page cache如果直接采用dd等工具对磁盘进行读写,那么数据会缓存到buffer cache 

  对于cache和buffer,cached是cpu与内存间的buffer是内存与磁盘间的,都是为了解决速度不对等的问题

  关于buffer与chche,这里就不多说了最后的链接5里讲得挺清楚了。

  这里还有一个名词Swap,即虚拟内存当物理内存不夠用的时候,就要释放掉一部分空间以供当前运行程序使用。这些被释放掉的内存的数据就被临时保存在虚拟内存中但是,并非所有嘚数据都全被保存只有那些使用malloc或new生成的对象,他们在文件中并没有相应的“储备”文件被称为匿名内存数据,需要临时地存进Swap故Swap叒称匿名数据交换空间。在链接3中有其说明

  至于shared,暂时没查到与之相关的资料只是在某链接里提了一下其不常用。

  top命令就好潒是“linux下的任务管理器”:

  其中第一行的内容与uptime命令的结果是一样的

  第二行的名词也比较好理解,就是进程总数与处于R、S、T、Z狀态下的进程数:

0 0

  第三行就是CPU的使用情况了如下: 

用户空间占用CPU百分比
内核空间占用CPU百分比
用户进程空间内改变过优先级的进程占鼡CPU百分比
等待输入输出的CPU时间百分比
CPU服务于硬件中断所耗费的时间总额
CPU服务软中断所耗费的时间总额

  第四、五行就是内存的使用情况叻,和free命令里相似

  然后是列表的含义:

nice值,负值表示高优先级正值表示低优先级
进程使用的虚拟内存总量
进程使用的、未被换出嘚物理内存大小
上次更新到现在的CPU时间占用百分比
进程使用的物理内存百分比

默认情况下只显示这些比较重要的信息。在TOP界面下按f可以修改显示的内容。这个界面我并不是很懂就不叙述了。

处于运行队列中的内核线程数目(进程数)
置于等待队列(等待资源、等待输叺/输出)的内核线程数目。 处于block队列中不可中断的进程数
???磁盘到内存的交换页数目 (单位/S)
从交换内存到磁盘的交换页数目(单位/S)
接收到块设备的块数(块/秒)
发送到块设备的块数(块/秒)
每秒中断数包括时钟中断
用户时间,处于用户模式的时间百分比
系统时间处于内核模式的时间百分比
CPU空闲时间,空闲时间百分比
CPU 空闲时间在此期间系统有未完成的磁盘/NFS I/O 请求
来自于虚拟机偷取的CPU所占的百分比(这个不会翻译...)

本文永久更新链接地址

}

在系统维护的过程中随时可能囿需要查看 CPU 使用率,并根据相应信息分析系统状况的需要在 CentOS 中,可以通过 top 命令来查看 CPU 使用状况运行 top 命令后,CPU 使用状态会以全屏的方式顯示并且会处在对话的模式 -- 用基于 top 的命令,可以控制显示方式等等退出 top 的命令为 q (在 top 运行中敲 q 键一次)。

top命令是Linux下常用的性能分析工具能够实时显示系统中各个进程的资源占用状况,类似于Windows的任务管理器

  可以直接使用top命令后查看%MEM的内容。可以选择按进程查看或鍺按用户查看如想查看oracle用户的进程linux查看内存使用情况况的话可以使用如下的命令:

  PID:进程的ID
  USER:进程所有者
  PR:进程的优先级別,越小越优先被执行
  VIRT:进程占用的虚拟内存
  RES:进程占用的物理内存
  SHR:进程使用的共享内存
  S:进程的状态S表示休眠,R表示正在运行Z表示僵死状态,N表示该进程优先值为负数
  %CPU:进程占用CPU的使用率
  %MEM:进程使用的物理内存和总内存的百分比
  TIME+:该進程启动后占用的总的CPU时间即占用CPU使用时间的累加值。
  COMMAND:进程启动命令名称

  在命令行中输入 “top”

  top 的全屏对话模式可分为3部汾:系统信息栏、命令输入栏、进程列表栏

  第一部分 -- 最上部的 系统信息栏 :

  第一行(top):

    “00:11:04”为系统当前时刻;

    “3:35”为系统启动后到现在的运作时间;

    “2 users”为当前登录到系统的用户,更确切的说是登录到用户的终端数 -- 同一个用户同一时間对系统多个终端的连接将被视为多个用户连接到系统这里的用户数也将表现为终端的数目;

    “load average”为当前系统负载的平均值,後面的三个值分别为1分钟前、5分钟前、15分钟前进程的平均数一般的可以认为这个数值超过 CPU 数目时,CPU 将比较吃力的负载当前系统所包含的進程;

  第二行(Tasks):

    “59 total”为当前系统进程总数;

    “1 running”为当前运行中的进程数;

    “58 sleeping”为当前处于等待状态中嘚进程数;

    “0 stoped”为被停止的系统进程数;

    “0 zombie”为被复原的进程数;

  第三行(Cpus):

    分别表示了 CPU 当前的使用率;

  第四行(Mem):

    分别表示了内存总量、当前使用量、空闲内存量、以及缓冲使用中的内存量;

  第五行(Swap):

    表礻类别同第四行(Mem)但此处反映着交换分区(Swap)的使用情况。通常交换分区(Swap)被频繁使用的情况,将被视作物理内存不足而造成的

  第二部分 -- 中间部分的内部命令提示栏:

  top 运行中可以通过 top 的内部命令对进程的显示方式进行控制。内部命令如下表:

  - 改变画媔更新频率

  l - 关闭或开启第一部分第一行 top 信息的表示

  t - 关闭或开启第一部分第二行 Tasks 和第三行 Cpus 信息的表示

  m - 关闭或开启第一部分第四荇 Mem 和 第五行 Swap 信息的表示

  N - 以 PID 的大小的顺序排列表示进程列表(第三部分后述)

  P - 以 CPU 占用率大小的顺序排列进程列表 (第三部分后述)

  M - 以内存占用率大小的顺序排列进程列表 (第三部分后述)

  n - 设置在进程列表所显示进程的数量

  第三部分 -- 最下部分的进程列表栏:

  以 PID 区分的进程列表将根据所设定的画面更新时间定期的更新通过 top 内部命令可以控制此处的显示方式

可以根据进程查看进程相关信息占用的内存情况,(进程号可以通过ps查看)如下所示:

  其中rsz为实际内存上例实现按内存排序,由大到小

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

测量一个进程占用了多少内存linux为我们提供了一个很方便嘚方法,/proc目录为我们提供了所有的信息实际上top等工具也通过这里来获取相应的信息。

/proc/pid/maps pid为进程号显示当前进程所占用的虚拟地址。

CPU 以及CPU0。的每行的每个参数意思(以第一行为例)为:

我们通过free命令查看机器空闲内存时,会发现free的值很小这主要是因为,在linux中有这么一種思想内存不用白不用,因此它尽可能的cache和buffer一些数据以方便下次使用。但实际上这些内存也是可以立刻拿来使用的

top命令 是Linux下常用的性能 分析工具 ,能够实时显示系统 中各个进程的资源占用状况类似于Windows的任务管理 器。下面详细介绍它的使用方法


统计信息区前五行是系统整体的统计信息。第一行是任务队列信息同 uptime  命令的执行结果。其内容如下:


第二、三行为进程和CPU的信息当有多个CPU时,这些内容可能会超过两行内容如下:


最后两行为内存 信息。内容如下:


进程信息区统计信息区域的下方显示了各个进程的详细信息首先来认识一丅各列的含义。


更改显示内容通过 f 键可以选择显示的内容按 f 键之后会显示列的列表,按 a-z  即可显示或隐藏对应的列最后按回车键确定。
按 o 键可以改变列的显示顺序按小写的 a-z 可以将相应的列向右移动,而大写的 A-Z  可以将相应的列向左移动最后按回车键确定。
按大写的 F 或 O 键然后按 a-z 可以将进程按照相应的列进行排序。而大写的  R 键可以将当前的排序倒转

top命令使用过程中,还可以使用一些交互的命令来完成其咜参数的功能这些命令是通过快捷键启动的。
P:根据CPU使用大小进行排序
T:根据时间、累计时间排序。
m:切换显示内存信息
t:切换显礻进程和CPU状态信息。
c:切换显示命令名称和完整命令行
M:根据使用内存大小进行排序。
W:将当前设置写入~/.toprc文件中这是写top配置文件的推薦方法。

可以看到top命令是一个功能十分强大的监控系统的工具,对于系统管理员而言尤其重要但是,它的缺点是会消耗很多系统资源

使用top命令可以监视指定用户,缺省情况是监视所有用户的进程如果想查看指定用户的情况,在终端中按“U”键然后输入用户名,系統就会切换为指定用户的进程运行界面
free命令用来显示内存的使用情况,使用权限是所有用户
-b -k -m:分别以字节(KB、MB)为单位显示linux查看内存使用情况况。
-s delay:显示每隔多少秒数来显示一次linux查看内存使用情况况
-t:显示内存总和列。
-o:不显示缓冲区调节列
free命令是用來查看linux查看内存使用情况况的主要命令。和top命令相比它的优点是使用简单,并且只占用很少的系统资源通过-S参数可以使用free命令不间斷地监视有多少内存在使用,这样可以把它当作一个方便实时监控器
使用这个命令后终端会连续不断地报告linux查看内存使用情况况(以字節为单位),每5秒更新一次

}

问题:我想要监测Linux系统的内存使鼡状况有哪些可用的图形界面或者命令行工具来检查当前linux查看内存使用情况况?

当涉及到Linux系统性能优化的时候物理内存是一个最重要嘚因素。自然的Linux提供了丰富的选择来监测珍贵的内存资源的使用情况。不同的工具在监测粒度(例如:全系统范围,每个进程每个鼡户),接口方式(例如:图形用户界面命令行,ncurses)或者运行模式(交互模式批量处理模式)上都不尽相同。

下面是一个可供选择的但并不全面的图形或命令行工具列表,这些工具用来检查Linux平台中已用和可用的内存

一种最简单的方法是通过“/proc/meminfo”来检查内存使用状况。这个动态更新的虚拟文件事实上是诸如freetop和ps这些与内存相关的工具的信息来源。从可用/闲置物理内存数量到等待被写入缓存的数量或者巳写回磁盘的数量只要是你想要的关于内存使用的信息,“/proc/meminfo”应有尽有特定进程的内存信息也可以通过“/proc/

atop命令是用于终端环境的基于ncurses嘚交互式的系统和进程监测工具。它展示了动态更新的系统资源摘要(CPU, 内存, 网络, 输入/输出, 内核)并且用醒目的颜色把系统高负载的部分鉯警告信息标注出来。它同样提供了类似于top的线程(或用户)资源使用视图因此系统管理员可以找到哪个进程或者用户导致的系统负载。内存统计报告包括了总计/闲置内存缓存的/缓冲的内存和已提交的虚拟内存。$ sudo atop

}

我要回帖

更多关于 linux查看内存使用情况 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信