Ubuntu添加swap分区的方法

 更新时间:2018年05月14日 14:32:53   作者:天心流水  
这篇文章主要介绍了Ubuntu添加swap分区的方法,提高服务器响应速度和防止应用程序内存不足错误的最简单方法之一是添加一些交换空间,非常具有实用价值,需要的朋友可以参考下

前段时间上车了腾讯云 360 买三年多的学生机的活动,加上降配总共获得 6 年,然而内存降到 1G 后,跑个 mysql 时间长了内存都不够。而且腾讯云的 ubuntu 不知道什么原因 1G 内存实际只有 800+M,更加雪上加霜。

终于前两天服务器由于内存爆了而又没有开 swap 崩了,几乎死机状态,ssh 都连不上,控制台强制重启才恢复正常。为了防止再次出现这种情况,我就给服务器加了个 swap。

参考文档: https://askubuntu.com/questions/33697/how-do-i-add-a-swap-partition-after-system-installation/796997#796997

首先来了解一下什么是Swap

Swap分区(也称交换分区)是硬盘上的一个区域,被指定为操作系统可以临时存储数据的地方,这些数据不能再保存在RAM中。 基本上,这使您能够增加服务器在工作“内存”中保留的信息量,但有一些注意事项,主要是当RAM中没有足够的空间容纳正在使用的应用程序数据时,将使用硬盘驱动器上的交换空间。

写入磁盘的信息将比保存在RAM中的信息慢得多,但是操作系统更愿意将应用程序数据保存在内存中,并使用交换旧数据。 总的来说,当系统的RAM耗尽时,将交换空间作为回落空间可能是一个很好的安全网,可防止非SSD存储系统出现内存不足的情况。

具体步骤和命令如下:

# 创建一个空文件,具体大小的话对于小内存机器建议为内存的两倍 (例子中 1K * 4M = 4 GiB).
sudo mkdir -v /var/cache/swap
cd /var/cache/swap
sudo dd if=/dev/zero of=swapfile bs=1K count=4M
sudo chmod 600 swapfile

# 将新建的文件转换为 swap 文件.
sudo mkswap swapfile

# 开启 swap.

sudo swapon swapfile

# 通过 swapon 或者 top 命令进行验证:
swapon -s
# 或者
top -bn1 | grep -i swap
# 会显示类似信息: KiB Swap: 4194300 total, 4194300 free

# 禁用 swap 时可以使用 sudo swapoff swapfile.

# 将该分区设置成开机加载.
echo "/var/cache/swap/swapfile none swap sw 0 0" | sudo tee -a /etc/fstab

# 测试开机加载:
sudo swapoff swapfile
sudo swapon -va

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

相关文章

  • 关于Windows 不能在 本地计算器 启动 Apache2(phpstudy)

    关于Windows 不能在 本地计算器 启动 Apache2(phpstudy)

    今天在自己的本子上准备放多个虚拟站点。用的是#phpstudy#。在软件自身的站点设置中,根据提示添加的多站点无效不知道是否和我的系统是Win7有关
    2012-09-09
  • Linux环境ActiveMQ部署方法详解

    Linux环境ActiveMQ部署方法详解

    这篇文章主要介绍了Linux环境ActiveMQ部署方法,较为详细的分析了Linux环境下ActiveMQ的部署方法,并附带说明了linux安装jdk的相关操作步骤,需要的朋友可以参考下
    2019-05-05
  • CentOS 8 安装 MariaDB的详细教程

    CentOS 8 安装 MariaDB的详细教程

    这篇文章主要介绍了CentOS 8 安装 MariaDB的详细教程,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-07-07
  • 详解Linux常用命令的用法(二)————文本编辑器命令vi/vim

    详解Linux常用命令的用法(二)————文本编辑器命令vi/vim

    这篇文章主要介绍了Linux常用命令的用法(二)————文本编辑器命令vi/vim,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-04-04
  • linux sudo命令详解

    linux sudo命令详解

    本篇文章主要介绍了linux sudo命令,sudo 是一种权限管理机制,管理员可以授权于一些普通用户去执行一些 root 执行的操作,而不需要知道 root 的密码。
    2017-01-01
  • linux进程监控与自动重启的简单实现方法

    linux进程监控与自动重启的简单实现方法

    这篇文章主要给大家介绍了关于linux进程监控与自动重启的简单实现方法,文中通过示例代码介绍的非常详细,对大家学习或者使用linux具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-07-07
  • 浅谈linux下的串口通讯开发

    浅谈linux下的串口通讯开发

    下面小编就为大家带来一篇浅谈linux下的串口通讯开发。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-12-12
  • Apache 内容动态缓冲模块 mod_cache应用

    Apache 内容动态缓冲模块 mod_cache应用

    mod_cache是apache中基于URI键的内容动态缓冲(内存或磁盘),从Apache2.2起,mod_cache和mod_file_cache将不再是试验模块,它们已经足够稳定,可以用于实际生产中了。
    2013-10-10
  • 安装Ubuntu 20.04后要做的事(小白教程)

    安装Ubuntu 20.04后要做的事(小白教程)

    这篇文章主要介绍了安装Ubuntu 20.04后要做的事(小白教程),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • linux下使用 CentOS7安装jdk1.7

    linux下使用 CentOS7安装jdk1.7

    这篇文章主要介绍了linux下使用 CentOS7安装jdk1.7的相关资料,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06

最新评论