linux中swap的构建

一.使用物理分区构建swap

1.分区

[[email protected] ~]# fdisk /dev/vdb

Welcome to fdisk (util-linux 2.23.2).

Changes will remain in memory only, until you decide to write them.

Be careful before using the write command.

Command (m for help): n

Partition type:

p   primary (2 primary, 0 extended, 2 free)

e   extended

Select (default p): p

Partition number (3,4, default 3):

First sector (2050048-41943039, default 2050048):

Using default value 2050048

Last sector, +sectors or +size{K,M,G} (2050048-41943039, default 41943039): +500M

Partition 3 of type Linux and of size 500 MiB is set

Command (m for help): p

Disk /dev/vdb: 21.5 GB, 21474836480 bytes, 41943040 sectors

Units = sectors of 1 * 512 = 512 bytes

Sector size (logical/physical): 512 bytes / 512 bytes

I/O size (minimum/optimal): 512 bytes / 512 bytes

Disk label type: dos

Disk identifier: 0x7afa732b

Device Boot      Start         End      Blocks   Id  System

/dev/vdb1            2048     1026047      512000   83  Linux

/dev/vdb2         1026048     2050047      512000   83  Linux

/dev/vdb3         2050048     3074047      512000   83  Linux

Command (m for help): wq

The partition table has been altered!

Calling ioctl() to re-read partition table.

WARNING: Re-reading the partition table failed with error 16: Device or resource busy.

The kernel still uses the old table. The new table will be used at

the next reboot or after you run partprobe(8) or kpartx(8)

Syncing disks.

[[email protected] ~]# partprobe *更新分区表

2.格式化

[[email protected] ~]# mkswap /dev/vdb3

Setting up swapspace version 1, size = 511996 KiB

no label, UUID=7d39405c-d91b-44f6-9db4-17cb097909b5

3.开始查看与加载

[[email protected] ~]# free

total        used        free      shared  buff/cache   available

Mem:        1016496      239032      446852       13684      330612      605148

Swap:        511996           0      511996

[[email protected] ~]# swapon /dev/vdb3

[[email protected] ~]# free

total        used        free      shared  buff/cache   available

Mem:        1016496      239624      446232       13684      330640      604556

Swap:       1023992           0     1023992

[[email protected] ~]# swapon -s      *列出目前使用swap设备有哪些

Filename            Type    Size Used Priority

/dev/vda2                                 partition   511996  0   -1

/dev/vdb3                                 partition   511996  0   -2

二.使用文件构建swap

1.使用dd命令新增一个名为swap的128M的文件在/media下面

[[email protected] media]# dd if=/dev/zero of=/media/swap bs=1M count=128

128+0 records in

128+0 records out

134217728 bytes (134 MB) copied, 0.119075 s, 1.1 GB/s

[[email protected] media]# ll -h swap

-rw-r--r-- 1 root root 128M Jan  9 19:19 swap

2.使用mkswap将swap这个文件格式化为swap的文件格式

[[email protected] media]# mkswap swap

Setting up swapspace version 1, size = 131068 KiB

no label, UUID=f7cf0864-fa43-46d0-9cd6-72fb82d5bfec

3.用swapon 启动

[[email protected] media]# free

total        used        free      shared  buff/cache   available

Mem:        1016496      239228      312492       13680      464776      603064

Swap:        511996           0      511996

[[email protected] media]# swapon swap

swapon: /media/swap: insecure permissions 0644, 0600 suggested.

[[email protected] media]# free

total        used        free      shared  buff/cache   available

Mem:        1016496      239228      312492       13680      464776      603064

Swap:        643064           0      643064

[[email protected] media]# swapon -s

Filename            Type    Size Used Priority

/dev/vda2                                 partition   511996  0   -1

/media/swap                               file 131068  0   -2

4.swapoff 关闭swapfile

[[email protected] media]# swapoff swap

[[email protected] media]# free

total        used        free      shared  buff/cache   available

Mem:        1016496      239244      312476       13680      464776      603048

Swap:        511996           0      511996

三.swap使用限制

swap的主要功能时当物理内存不够时,将某些内存中所占用的程序暂时移动到swap当中,让物理内存可以被需要的程序使用。另外,如果你的主机支持电源管理模式,也就是说,你的linux主机可以进入到“休眠”模式的话,那么,运行当中的程序状态则会被记录到swap去,以作为“唤醒”主机状态的依据。另外,由某些程序在运行时,本来就会利用swap的特性来存放一些数据段,所以,swap时需要创建的,只是不需要太大。但是,swap在创建时,是有限制的:

*在内核2.4.10版本后,单一swap已经没有2GB的限制了

*但是,最多还是仅能创建32个swap

*而且,由于目前x86_64最大内存寻址到64GB,因此,swap总量最大也是仅能达到64GB。

原文地址:https://www.cnblogs.com/zhengyipengyou/p/10246715.html

时间: 2024-10-28 09:20:12

linux中swap的构建的相关文章

查看linux中swap内存的相关参数

内容主要来源于:linux的内存回收和交换 各项命令查看的linux环境是:Linux SUSE-33 2.6.32.12-0.7-defaul zone? 内存管理的相关逻辑都是以zone为单位的,这里zone的含义是指内存的分区管理.Linux将内存分成多个区,主要有直接访问区(DMA).一般区(Normal)和高端内存区(HighMemory).内核对内存不同区域的访问因为硬件结构因素会有寻址和效率上的差别.如果在NUMA架构上,不同CPU所管理的内存也是不同的zone. /proc/zo

Linux中swap分区设置

swap分区相当于Windows中虚拟内存的概念,也就是内存数据与硬盘的交换 关于swap分区的大小,有基本的一个原则是:如果内存较小(根据经验,物理内存小于4GB),一般设置swap分区设置为内存的2倍:如果物理内存大于4GB小于16GB,可以设置swap分区大小等于物理内存即可:如果内存大小在16GB以上,就可以设置swap分区为0.swap分区可以设置为0,但是并不建议这么做,因为设置一定大小的swap分区还是有一定作用的 .      虽然Linux默认只需要划分根分区和交换分区即可完成

。linux中swap分区

1.swap分区的最重要的作用是防止网站流量突然增大而导致系统分配内存不够用而死机. 2.使用swap交换分区,会使服务器的性能降低很多,导致访问速度变慢. 3.交换分区.我们如果没有足够的内存,也许就不能运行某些大型的软件,解决的办法是在硬盘上划出一个区域来当作临时的内存,好像内存变大了.Windows操作系统把这个区域叫做虚拟内存,Linux把它叫做交换分区swap.

linux中模块的构建,传参,和printk函数的简单使用

静态编译,动态加载应用想访问内核需要通过系统调用 驱动:1.模块(打包,加入内核)2.内核机制3.操作硬件 在Kconfig里面配置menuconfig的时候,不同的类型会在图形化界面的终端显示不用的配置选项:bool CONFIG_HELLO []hello_driver 两态tristate CONFIG_HELLO <>hello_driver 三态的 空 * Mstring/int CONFIG_HELLO ()hello_driver 相当于宏替换 (dest)hello_drive

【Linux】Swap与Memory

[Linux]Swap与Memory 背景介绍 Memory指机器物理内存,读写速度低于CPU一个量级,但是高于磁盘不止一个量级.所以,程序和数据如果在内存的话,会有非常快的读写速度.但是,内存的造价是要高于磁盘的,且内存的断电丢失数据也是不能把所有数据和程序都保存在内存中的原因. 既然不能全部使用内存,那数据还有程序不可能一直霸占在内存中.当内存没有可用的,就必须要把内存中不经常运行的程序踢出去.但是踢到哪里去,这时候swap就出现了. Swap全称为swap place,即交换分区.当内存不

linux中添加新的swap分区

测试场景:VMware 11 测试系统:Red Hat Enterprise Linux 7 我们都知道linux系统中swap分区都要在独立的分区当中,所以我们要新建一个swap分区: [[email protected] ~]# fdisk /dev/sda 欢迎使用 fdisk (util-linux 2.23.2). 更改将停留在内存中,直到您决定将更改写入磁盘. 使用写入命令前请三思. 命令(输入 m 获取帮助):n #创建新分区 Partition type: p primary (

关于Linux系统安装中Swap分区的解释

Swap分区,即交换区,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行 的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从 Swap中恢复保存的数据到内存中.这样,系统总是在物理内存不够时,才进行Swap交换.其实,Swap的调整对Linux服务器,特别是Web服务器 的性能至关重要.通过调整Swap,有时可以越过系统性能瓶颈,节省系统升级费

linux中常用时间和字符串之间相互转化

在Linux中经常会遇到时间和字符串相互转化的情形,有两个函数专门对应相应的转化. 1.时间转字符串函数strftime 函数原型:size_t strftime(char *s,size_t maxsize,char *format,conststruct tm *timeptr) strftime函数对timeptr指向的tm结构所代表的时间和日期进行格式编排,其结果放在字符串s中.该字符串的长度被设置为(最少)maxsize个字符.格式字符串format用来对写入字符串的字符进行控制,它包

Linux中的进程管理

什么是进程,顾名思义嘛!就是正在进行的程序,在Linux中,只要开启服务就会在后台对应的有了进程.那么进程管理究竟对于我们的日常运维工作有什么用呢? 主要作用有三点: 首先,最重要的是查看服务器健康状态 第二,查看系统中运行的所有进程 第三,杀死进程 我们用到进程最重要的作不就是用就是用来查看服务器的健康状态,做运维的不就是为了保证服务器能够一直这么正常运行吗? ① top命令 -->查看服务器健康状态 终端直接输入top,如图: 这里面最重要的就是前面的那5行,其中几个比较重要的参数如下: l