`

为Linux配置SWAP文件

阅读更多
由于未知原因,开发服务器没有配置swap(交换分区)。

虽然有4GB物理内存撑场面,但还是架不住多个tomcat+jetty的啃食,服务器频频死机!

这时候增加SWAP物理分区是不可能了,但我们可以通过增加swap文件的方式增加swap!

先看看我们当前的内存占用情况:
free

引用
             total       used       free     shared    buffers     cached
Mem:       4194304    4183512      10792          0      18588    1047644
-/+ buffers/cache:    3117280    1077024
Swap:            0          0          0


当前,交互分区设置为0:
引用
Swap:            0          0          0


通过dd命令增加swap:
dd if=/dev/zero of=/var/swap bs=1024 count=4096000

引用
4096000+0 records in
4096000+0 records out
4194304000 bytes (4.2 GB) copied, 31.4589 seconds, 133 MB/s


我们将swap文件写在/var/swap

参数:
  • if 输入
  • of 输出
  • bs 块大小
  • count 总大小


一般SWAP通常是物理内存的1.5~2倍,这里的物理内存达到4GB以上,分配4GB即可!

这里的服务器物理内存为4194304,也就是4.2GB,我们把swap设置4GB,故count=4096000

同时,我们需要创建该文件:

mkswap /var/swap

引用
Setting up swapspace version 1, size = 4194299 kB


加载该文件:
swapon /var/swap


看看swap是否生效:

free

引用
             total       used       free     shared    buffers     cached
Mem:       4194304    4172128      22176          0       5268    1048536
-/+ buffers/cache:    3118324    1075980
Swap:      4095992          0    4095992


当前,交互分区设置为4095992:
引用
Swap:      4095992          0    4095992


查看swap当前状态:

cat /proc/swaps

引用
Filename                                Type            Size    Used    Priority
/var/swap                               file            4095992 0       -1


每次开机执行swap加载命令太烦人了,通过修改/etc/fstab,启动时自动加载SWAP!
在该文件末尾中追加:
引用
/var/swap               swap                    swap    defaults        0 0


如果不再需要swap,可以清理该分区:
swapoff /var/swap


注:top命令下,想关参数含义

    * %mem 内存使用率
    * virt  虚拟内存
    * res  常驻内存
    * shr  共享内存

VIRT:virtual memory usage。Virtual这个词很神,一般解释是:virtual adj.虚的, 实质的, [物]有效的, 事实上的。到底是虚的还是实的?让Google给Define之后,将就明白一点,就是这东西还是非物质的,但是有效果的,不发生在真实世界的,发生在软件世界的等等。这个内存使用就是一个应用占有的地址空间,只是要应用程序要求的,就全算在这里,而不管它真的用了没有。写程序怕出错,又不在乎占用的时候,多开点内存也是很正常的。

RES:resident memory usage。常驻内存。这个值就是该应用程序真的使用的内存,但还有两个小问题,一是有些东西可能放在交换盘上了(SWAP),二是有些内存可能是共享的。
SHR:shared memory。共享内存。就是说这一块内存空间有可能也被其他应用程序使用着;而Virt - Shr似乎就是这个程序所要求的并且没有共享的内存空间。

DATA:数据占用的内存。如果top没有显示,按f键可以显示出来。这一块是真正的该程序要求的数据空间,是真正在运行中要使用的。



继续top,等待swap产生作用……
4
3
分享到:
评论

相关推荐

    Linux修改Swap大小.

    #### 四、设置 Swap 文件自动加载 为了确保每次系统启动时都能自动加载新创建的 Swap 文件,需要将其添加到 `/etc/fstab` 文件中: 1. **编辑 fstab 文件**: ``` vi /etc/fstab ``` 2. **添加 Swap 文件条目...

    linux 扩展SWAP分区

    5. 修改 /etc/fstab 文件,设置开机自动挂载 迁移 /usr 目录 由于 /usr 目录占用的空间比较多,因此需要将其迁移到新的分区中。步骤如下: 1. 使用 tar 命令将 /usr 目录下的内容全部打包到 /data 目录下 2. 查看...

    详细解读linux下swap分区的作用

    Linux下的swap分区是操作系统管理内存的一种机制,尤其在物理内存有限的情况下显得尤为重要。Swap分区的主要作用在于,当系统的物理内存不足时,它可以充当一个临时的扩展内存,将暂时不活跃的程序数据存储到硬盘上...

    Linux新建和增加swap分区

    - 在使用`dd`命令创建swap文件时,注意`bs`和`count`参数的设置,以确保创建的文件大小符合预期。 - 使用`swapon`命令时,务必确认所指定的分区或文件正确无误,以免误操作导致数据丢失。 #### 六、总结 通过上述...

    Linux系统中增加Swap分区文件步骤方法

    例如,如果输出显示Swap分区为0,那就意味着系统当前没有设置Swap。 接下来,你需要创建一个新的Swap分区文件。创建新交换文件的大小可以根据你的需求来设定,一般建议至少等于或略大于物理内存的大小。例如,如果...

    Linux中增加Swap分区文件的步骤方法

    Linux 中增加 Swap 分区文件的步骤方法 Linux 操作系统中,Swap 分区文件是一种虚拟内存,用于存储内存中的数据以释放物理内存空间。增加 Swap 分区文件可以提高系统的性能和稳定性。本文将详细介绍在 Linux 中增加...

    Linux服务器配置与管理:swap交换分区管理.pptx

    Linux服务器的管理和配置是IT运维工作中的重要环节,其中SWAP交换分区的管理是确保系统稳定运行的关键。在Linux系统中,SWAP分区扮演着与Windows系统中的虚拟内存相似的角色,它提供了一种机制,当物理内存不足以...

    Linux下增加Swap

    上述命令将创建一个大小为1GB的Swap文件(根据实际需求调整大小)。 2. **格式化Swap文件**: 使用`mkswap`工具对Swap文件进行格式化。 ``` mkswap swapfile ``` 执行此命令后,会看到关于Swap空间版本和大小...

    linux中可加载SWAP的代码

    - 在`/etc/fstab`中添加一行,设置SWAP文件的自动挂载。 在`/etc/fstab`文件中,SWAP条目应类似于以下形式: ``` /swapfile none swap sw 0 0 ``` 在调整SWAP大小之前,建议先评估系统的需求,过大或过小的SWAP都...

    Linux系统增加swap空间方法.docx

    - **创建文件**:使用以下命令创建一个指定大小的文件作为Swap文件(例如,创建一个2GB的Swap文件): ```bash sudo fallocate -l 2G /home/swapfile ``` - **格式化为Swap空间**:使用`mkswap`命令格式化文件...

    linux可用内存足够为什么还用swap.docx

    ### Linux可用内存足够为什么还用swap? 在讨论Linux系统为何在看似有足够可用内存的情况下仍然使用swap(交换分区)之前,我们需要理解几个基本概念:内存的使用情况、buffer/cache的作用以及swap的工作机制。 ##...

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

    在 Linux 系统中,可以使用 `/etc/fstab` 文件来配置开机自动挂载 SWAP 空间。例如,添加以下行到 `/etc/fstab` 文件中可以实现开机自动挂载 `/swapfile` SWAP 空间: `/swapfile swap swap defaults 0 0` 停用 ...

    Linux操作系统上两种新的SWAP空间创建方法

    这将为该分区分配SWAP文件系统。 3. **激活SWAP分区** 使用`swapon`命令激活SWAP分区,例如:`swapon /dev/hdd4`。这样,系统就会开始使用这个分区作为SWAP空间。 4. **验证SWAP空间** 通过`swapon -s`命令检查...

    SUSE上扩容Swap空间方法

    如果您的SUSE Linux服务器上有足够的未分配空间,您可以直接创建一个新的分区并将其设置为Swap分区。这种方法简单且易于操作。 ##### 步骤详解: 1. **创建新的分区**: - 使用`fdisk`命令来创建一个新的分区,...

    Linux中常见文件系统格式介绍

    Linux swap文件系统是另一种特殊的格式,它不用于存储文件,而是作为虚拟内存使用。当系统物理内存不足时,Linux会将部分内存数据暂时存储到交换分区上,以释放内存资源。交换分区的大小通常建议为物理内存的两倍,...

    如何动态增加系统Swap分区

    3. **设置Swap文件格式:** ```bash sudo mkswap swapfile ``` 这个命令会提示Swap文件的空间大小和版本信息,例如: ``` Setting up swapspace version 1, size = 102395 kB no label, UUID = 09fde987-5567...

    Ubuntu系统中添加swap文件的几种方法

    本文将详细介绍在Ubuntu中添加swap文件和分区的两种方法。 **方法一:添加文件虚拟内存** 这种方法适用于没有额外硬盘空间,但希望增加swap的场景。以下是具体步骤: 1. **制作文件**:首先,你需要创建一个大...

    Ubuntu设置swap交换内存.docx

    ### Ubuntu设置swap交换内存知识点详解 #### 一、概述 在Linux系统中,Swap空间(交换空间)是一种用于辅助内存管理的重要机制。当物理内存不足时,系统会将部分不常用的内存页面移动到Swap空间中,以此来释放物理...

    swap区增加

    为了确保系统重启后能够继续使用该swap文件,需要在`/etc/fstab`文件中添加一行配置。 ```bash /root/swapfile swap swap defaults 0 0 ``` 此行表示`/root/swapfile`文件应该在系统启动时被自动挂载为swap分区。 ...

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

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

Global site tag (gtag.js) - Google Analytics