Linux管理员手册(4)--内存管理

暗夜魔龙消防

暗夜魔龙消防

2016-01-29 19:08

Linux管理员手册(4)--内存管理,Linux管理员手册(4)--内存管理
  本章说明Linux的内存管理特征,即虚拟内存和磁盘缓存。描述系统管理员应该考虑的东西、工作和目的。

  什么是虚拟内存?

  Linux支持虚拟内存, 就是使用磁盘作为RAM的扩展,使可用内存相应地有效扩大。核心把当前不用的内存块存到硬盘,腾出内存给其他目的。当原来的内容又要使用时,再读回内存。这对用户全透明:运行于Linux的程序只看到大量的可用内存而不甘心哪部分在磁盘上。当然,读写硬盘比真的内存慢(慢千倍),所以程序运行较慢。用做虚拟内存的这部分硬盘叫 对换空间。

  Linux可以使用文件系统中的普通文件或单独的分区作为对换空间。对换分区更快,但对换文件更易于改变大小(无须对硬盘重分区)。如果知道要多少对换空间,应该用对换分区;如果不能确认,可以先用对换文件,用一段时间后再根据所需空间建立对换分区。

  Linux允许同时使用多个对换分区和/或对换文件。即如果偶尔需要更多的对换空间,可以随时建立一个额外的对换文件。

  产生对换空间

  对换文件是普通文件,对核心没有什么特别的。唯一不同是它没有孔,用 mkswap 准备。必须在本地盘上,不能在通过NFS mount的文件系统中。

  关于孔,是重要的。对换文件保留了磁盘空间,使核心能快速对换出一页,而不必经过如文件的定位磁盘扇区的全部事情。核心只用分配给这个文件的所有扇区。由于文件中的孔意味着没有为文件中这个位置分配磁盘扇区,这对核心使用不利。

  产生没有孔的对换文件的一个好办法是通过如下命令:

  $ dd if=/dev/zero of=/extra-swap bs=1024 count=1024
  1024+0 records in
  1024+0 records out
  $
  /extra-swap 是对换文件名,大小由count=给出. 大小最好是4的倍数,因为核心写出的内存页是4KB。如果不是4的倍数,最后那几KB将不可用。

  对换分区也没什么特别。就象产生其他分区一样产生;唯一的不同是它作为原始分区使用,即没有任何文件系统,最好将对换分区标记为类型82(Linux swap),虽然这对核心没有影响,但这使分区列表更清晰。

  产生对换文件或对换分区后,需要写个标记起用它,这包括核心要用的一些管理信息。命令是 mkswap , 用法如下:

  $ mkswap /extra-swap 1024
  Setting up swapspace, size = 1044480 bytes
  $

  注意对换空间现在还没用,它存在,但核心还没用它提供虚拟内存。

  请一定小心使用mkswap , 因为它不检查文件或分区是否被其他东西使用。 你可能用mkswap 很容易地覆盖了重要文件和分区! 幸好,你只需在你安装系统时使用mkswap 。

  Linux内存管理限制了每个对换空间约为127MB(由于技术原因,实际限制是127.6875MB)。 可以同时使用最多16个对换空间,总计差不多2GB。
  使用对换空间

  用swapon 将一个初始化的对换空间可用。此命令告诉核心对换空间可以用了,对换空间的路径作为参数,启动一个临时对换文件可以用如下命令:

  $ swapon /extra-swap
  $


  对换空间如果列入/etc/fstab ,就可自动使用。

  /dev/hda8 none swap sw 0 0
  /swapfile none swap sw 0 0

  启动手稿运行命令swapon -a, 它将启动/etc/fstab 中所列的所有对换空间。因此swapon 命令只有在启动额外的对换空间时才使用。
  可以用free 监视对换空间的使用,它将给出所有使用的对换空间。

  $ free
  total used free shared buffers
  Mem: 15152 14896 256 12404 2528
  -/+ buffers: 12368 2784
  Swap: 32452 6684 25768
  $

  前一行输出(Mem:)显示物理内存。 Total列不显示核心使用的物理内存(通常大约1MB)。Used列显示被使用的内存总额(第二行不计缓冲)。 Free列显示全部没使用的内存。Shared列显示多个进程共享的内存总额。Buffers列显示磁盘缓存的当前大小。
  后一行(Swap:)对对换空间,显示的信息类似上面。如果这行为全0,那么没使用对换空间。

  通过top ,或使用proc文件系统的/proc/meminfo 文件可以得到相同的信息。得到某个对换空间的使用信息目前还比较困难。

  可用swapoff 取消对换空间,一般不必这样,除非是临时对换空间。对换空间中的要用的页被换入(swap-RAM),如果没有足够的物理内存,就被换出(RAM-swap,到其他对换空间)。如果没有足够的虚拟内存放进所有页面,Linux将开始震荡(thrash); 很长时间以后应该能恢复,但此时系统不可用。取消一个对换空间前,应该检查(例如用free )是否有足够的物理内存。

  用swapon -a自动使用的所有对换空间可以用swapoff -a取消。它查看文件/etc/fstab 得知要取消什么。任何手工起用的对换空间将依然使用着。

  即使有许多空闲的物理内存,有时许多对换空间也被使用着。这种情况是由于在某个时间需要对换,但后来一个占用大量物理内
展开更多 50%)
分享

猜你喜欢

Linux管理员手册(4)--内存管理

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux管理员手册(4)--内存管理

Linux 管理员手册(4)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 管理员手册(4)

s8lol主宰符文怎么配

英雄联盟 网络游戏
s8lol主宰符文怎么配

Linux 管理员手册(9)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 管理员手册(9)

Linux 管理员手册(3)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 管理员手册(3)

lol偷钱流符文搭配推荐

英雄联盟 网络游戏
lol偷钱流符文搭配推荐

Linux 管理员手册(7)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 管理员手册(7)

Linux 管理员手册(8)

Linux Linux命令 Linux安装 Linux编程 Linux桌面 Linux软件 Linux内核 Linux管理
Linux 管理员手册(8)

lolAD刺客新符文搭配推荐

英雄联盟
lolAD刺客新符文搭配推荐

Word文档中统一字符串八大妙法

Word文档中统一字符串八大妙法

隐藏在Windows XP中的二十八个秘密武器(1)

隐藏在Windows XP中的二十八个秘密武器(1)
下拉加载更多内容 ↓