内存使用空间之swap建置[转]
http://www.cnblogs.com/ggjucheng/archive/2012/08/22/2651502.html
内存置换空间(swap)之建置
安装时一定需要的两个 partition 啰! 一个是根目录,另外一个就是 swap(内存置换空间), swap 的功能就是在应付物理内存不足的情况下所造成的内存延伸记录的功能。
一般来说,如果硬件的配备足够的话,那么 swap 应该不会被我们的系统所使用到, swap 会被利用到的时刻通常就是物理内存不足的情况了。我们知道 CPU 所读取的数据都来自于内存, 那当内存不足的时候,为了让后续的程序可以顺利的运行,因此在内存中暂不使用的程序与数据就会被挪到 swap 中了。 此时内存就会空出来给需要运行的程序加载。由于 swap 是用硬盘来暂时放置内存中的信息, 所以用到 swap 时,你的主机硬盘灯就会开始闪个不停啊!
虽然目前(2009)主机的内存都很大,至少都有 1GB 以上啰!因此在个人使用上你不要配置 swap 应该也没有什么太大的问题。 不过服务器可就不这么想了~由于你不会知道何时会有大量来自网络的要求,因此你最好能够预留一些 swap 来缓冲一下系统的内存用量! 至少达到『备而不用』的地步啊!
现在想象一个情况,你已经将系统创建起来了,此时却才发现你没有建置 swap ~那该如何是好呢? 透过本章上面谈到的方法,你可以使用如下的方式来创建你的 swap 啰!
配置一个 swap partition
创建一个虚拟内存的文件
不啰唆,就立刻来处理处理吧!
使用分区配置swap
创建 swap 分割槽的方式也是非常的简单的!透过底下几个步骤就搞定啰:
分割:先使用 fdisk 在你的磁盘中分割出一个分割槽给系统作为 swap 。由于 Linux 的 fdisk 默认会将分割槽的 ID 配置为 Linux 的文件系统,所以你可能还得要配置一下 system ID 就是了。
格式化:利用创建 swap 格式的『mkswap 装置文件名』就能够格式化该分割槽成为 swap 格式啰
使用:最后将该 swap 装置启动,方法为:『swapon 装置文件名』。
观察:最终透过 free 这个命令来观察一下内存的用量吧!
不啰唆,立刻来实作看看!既然我们还有多余的磁盘容量可以分割,那么让我们继续分割出 256MB 的磁盘分区槽吧! 然后将这个磁盘分区槽做成 swap 吧!
1. 先进行分割的行为啰!
[root@www ~]# fdisk /dev/hdc
Command (m for help): n
First cylinder (2303-5005, default 2303): <==这里按[enter]
Using default value 2303
Last cylinder or +size or +sizeM or +sizeK (2303-5005, default 5005): +256M Command (m for help): p Device Boot Start End Blocks Id System
.....中间省略.....
/dev/hdc6 2053 2302 2008093+ 83 Linux
/dev/hdc7 2303 2334 257008+ 83 Linux <==新增的项目 Command (m for help): t <==修改系统 ID
Partition number (1-7): 7 <==从上结果看到的,七号partition
Hex code (type L to list codes): 82 <==改成 swap 的 ID
Changed system type of partition 7 to 82 (Linux swap / Solaris) Command (m for help): p Device Boot Start End Blocks Id System
.....中间省略.....
/dev/hdc6 2053 2302 2008093+ 83 Linux
/dev/hdc7 2303 2334 257008+ 82 Linux swap / Solaris Command (m for help): w
# 此时就将 partition table 升级了! [root@www ~]# partprobe
# 这个玩意儿很重要的啦!不要忘记让核心升级 partition table 喔!
2. 开始建置 swap 格式
[root@www ~]# mkswap /dev/hdc7
Setting up swapspace version 1, size = 263172 kB <==非常快速!
3. 开始观察与加载看看吧!
[root@www ~]# free
total used free shared buffers cached
Mem: 742664 684592 58072 0 43820 497144
-/+ buffers/cache: 143628 599036
Swap: 1020088 96 1019992
# 我有 742664K 的物理内存,使用 684592K 剩余 58072K ,使用掉的内存有
# 43820K / 497144K 用在缓冲/缓存的用途中。
# 至于 swap 已经存在了 1020088K 啰!这样会看了吧?!
[root@www ~]# swapon /dev/hdc7
[root@www ~]# free
total used free shared buffers cached
Mem: 742664 684712 57952 0 43872 497180
-/+ buffers/cache: 143660 599004
Swap: 1277088 96 1276992 <==有添加啰!看到否?
[root@www ~]# swapon -s
Filename Type Size Used Priority
/dev/hdc5 partition 1020088 96 -1
/dev/hdc7 partition 257000 0 -2
# 上面列出目前使用的 swap 装置有哪些的意思!
使用文件配置swap
如果是在实体分割槽无法支持的环境下,此时前一小节提到的 loop 装置建置方法就派的上用场啦! 与实体分割槽不一样的只是利用 dd 去建置一个大文件而已。多说无益,我们就再透过文件建置的方法创建一个 128 MB 的内存置换空间吧!
1. 使用 dd 这个命令来新增一个 128MB 的文件在 /tmp 底下:
[root@www ~]# dd if=/dev/zero of=/tmp/swap bs=1M count=128
128+0 records in
128+0 records out
134217728 bytes (134 MB) copied, 1.7066 seconds, 78.6 MB/s [root@www ~]# ll -h /tmp/swap
-rw-r--r-- 1 root root 128M Oct 28 15:33 /tmp/swap
这样一个 128MB 的文件就建置妥当。若忘记上述的各项参数的意义,请回前一小节查阅一下啰!
2. 使用 mkswap 将 /tmp/swap 这个文件格式化为 swap 的文件格式:
[root@www ~]# mkswap /tmp/swap
Setting up swapspace version 1, size = 134213 kB
# 这个命令下达时请『特别小心』,因为下错字节控制,将可能使您的文件系统挂掉!
3. 使用 swapon 来将 /tmp/swap 启动啰!
[root@www ~]# free
total used free shared buffers cached
Mem: 742664 450860 291804 0 45584 261284
-/+ buffers/cache: 143992 598672
Swap: 1277088 96 1276992 [root@www ~]# swapon /tmp/swap
[root@www ~]# free
total used free shared buffers cached
Mem: 742664 450860 291804 0 45604 261284
-/+ buffers/cache: 143972 598692
Swap: 1408152 96 1408056 [root@www ~]# swapon -s
Filename Type Size Used Priority
/dev/hdc5 partition 1020088 96 -1
/dev/hdc7 partition 257000 0 -2
/tmp/swap file 131064 0 -3
4. 使用 swapoff 关掉 swap file
[root@www ~]# swapoff /tmp/swap
[root@www ~]# swapoff /dev/hdc7
[root@www ~]# free
total used free shared buffers cached
Mem: 742664 450860 291804 0 45660 261284
-/+ buffers/cache: 143916 598748
Swap: 1020088 96 1019992 <==回复成最原始的样子了!
内存使用空间之swap建置[转]的更多相关文章
- 攻城狮在路上(叁)Linux(二十五)--- linux内存交换空间(swap)的构建
swap的功能是应付物理内存不足的状况,用硬盘来暂时放置内存中的信息. 对于一般主机,物理内存都差不多够用,所以也就不会用到swap,但是对于服务器而言,当遇到大量网络请求时或许就会用到. 当swap ...
- 内存交换空间(swap)的构建
一.使用物理分区构建swap 1.先进行分区的行为. [root@iZ255cppmtxZ ~]# fdisk /dev/xvdb Welcome to fdisk (util-linux ). Ch ...
- Linux学习之CentOS(十六)-----内存置换空间(swap)之建置(转)
内存置换空间(swap)之建置 安装时一定需要的两个 partition 啰! 一个是根目录,另外一个就是 swap(内存置换空间), swap 的功能就是在应付物理内存不足的情况下所造成的内存延伸记 ...
- Linux命令 swap:内存交换空间
swap 内存交换空间的概念 swap使用上的限制
- 建置 POSTFIX 服务器
建置 POSTFIX 服务器 postfix 是除了 sendmail 以外 ,最被广泛采用的 Linux 邮件服务器,一般使用的观感不外乎两点: 一.安全:垃圾信过滤机制较聪明,就算什么都没设定,也 ...
- Linux交换空间(swap space)
每次安装Linux的时候,都会要求配置交换分区,那么这个分区是干嘛的呢?不设置这个分区有什么后果?如果一定要设置,设置多大比较合适?本篇将试图回答这些问题并尽量覆盖所有swap相关的知识. 下面的所有 ...
- linux学习-CentOS 7 环境下大量建置账号的方法
一些账号相关的检查工具 pwck pwck 这个指令在检查 /etc/passwd 这个账号配置文件内的信息,与实际的家目录是否存在等信息, 还可以比对 /etc/passwd /etc/shadow ...
- Linux交换空间(swap space)的那些优缺点
下面的所有例子都在ubuntu-server-x86_64 16.04下执行通过 什么是swap? swap space是磁盘上的一块区域,可以是一个分区,也可以是一个文件,或者是他们的组合.简单点说 ...
- [TypeScript] 建置输出单一JavaScript档案(.js)与Declaration档案(.d.ts)
[TypeScript] 建置输出单一JavaScript档案(.js)与Declaration档案(.d.ts) 问题情景 开发人员使用Visual Studio来开发TypeScript,可以很方 ...
随机推荐
- UVa 10318 Security Panel
题意:给你一个3*3的翻转模版,深色部分表示翻转,浅色部分不变.然后你可以在r*c的矩形里依照模版进行翻转,要求所有点亮所有块.输出最小的步骤. 思路:有一点比较好想.每个块至多被翻转一次,翻两次的效 ...
- ios上架
1.登录developer.apple.com 2.点击member center后 进下图 3.点击certificates Identifiers进下图 4.点击Certificates进下图,首 ...
- C++的三种继承方式简述
C++对父类(也称基类)的继承有三种方式,分别为:public继承.protected继承.private继承.三种继承方式的不同在于继承之后子类的成员函数的"可继承性质". 在说 ...
- ABBYY
ABBYY FineReader Engine泰比OCR文字识别控件移动版 产品功能:OMR识别控件 平台: 开发商:ABBYY泰比科技 版本:产品介绍:手机识别的高品质和精度 泰比( ...
- Actipro Ribbon For WPF 界面控件免费下载地址
Actipro Ribbon可以添加ribbon用户界面到你的程序中,功能包含:ribbon大小调整.程序菜单.QAT.嵌入的多种控件.多种布局选项.按键提示.屏幕提示.WPF命令模式用法.多种样式. ...
- php大力力 [007节]php静态表量
2015-08-23 php大力力007. php静态表量 这里看一下高老师的视频讲解: 转帖: php中static静态类与static 静态变量用法区别 php中的静态变量的基本用法 转载 时间: ...
- How to Write Doc Comments for the Javadoc Tool
http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html This document describe ...
- PHP中目录的操作
文件的操作:创建文件,删除文件,重命名文件rename(),移动/复制文件,读取,大小(PHP都有内置的函数) 目录的操作:创建目录(有),删除目录,复制目录,统计目录大小,遍历(自己定义函数) 一. ...
- sqlserver中自定义函数+存储过程实现批量删除
由于项目的需要,很多模块都要实现批量删除的功能.为了方便模块的调用,把批量删除方法写成自定义函数.直接上代码. 自定义函数: ALTER FUNCTION [dbo].[func_SplitById] ...
- Cash Machine_多重背包
Description A Bank plans to install a machine for cash withdrawal. The machine is able to deliver ap ...