购买的 1GB 内存的 Linux 小机器,在编译安装 PHP 的时候内存捉急,只好开启 swap 交换分区来增大内存。

[root@VM_139_38_centos php-7.2.12]# cat /proc/swaps
Filename Type Size Used Priority
[root@VM_139_38_centos php-7.2.12]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/vda1 51474024 5077996 44089952 11% /
devtmpfs 498688 0 498688 0% /dev
tmpfs 508188 24 508164 1% /dev/shm
tmpfs 508188 428 507760 1% /run
tmpfs 508188 0 508188 0% /sys/fs/cgroup
tmpfs 101640 0 101640 0% /run/user/0
[root@VM_139_38_centos php-7.2.12]# dd if=/dev/vda1 of=/root/swapfile bs=1M count=1024
1024+0 records in
1024+0 records out
1073741824 bytes (1.1 GB) copied, 20.5062 s, 52.4 MB/s
[root@VM_139_38_centos php-7.2.12]# mkswap /root/swapfile
mkswap: /root/swapfile: warning: wiping old ext3 signature.
Setting up swapspace version 1, size = 1048572 KiB
no label, UUID=30d4dfc3-5511-438a-a314-15ba10930800
[root@VM_139_38_centos php-7.2.12]# swapon /root/swapfile
swapon: /root/swapfile: insecure permissions 0644, 0600 suggested.
[root@VM_139_38_centos php-7.2.12]# chmod 0600 /root/swapfile
[root@VM_139_38_centos php-7.2.12]# swapon /root/swapfile
swapon: /root/swapfile: swapon failed: Device or resource busy
[root@VM_139_38_centos php-7.2.12]# swapon -s
Filename Type Size Used Priority
/root/swapfile file 1048572 0 -1
[root@VM_139_38_centos shell]# swapon -s
Filename Type Size Used Priority
/root/swapfile file 1048572 515912 -1

有两种方式创建 swap 分区:

  • 用磁盘分区,需要先通过 fdisk 命令创建分区
  • 用文件系统,通过 dd 命令创建文件

用磁盘分区做 swap 分区

注意:重新分区会导致数据丢失。

  1. 重新分区前,需要停止所有的 swap 分区:
# swapoff -a
  1. 对磁盘进行分区,在 fdisk 中用 t 命令将新添的分区设置为 swap 分区()Linux 中 swap 类型对应的分区 id 为 82),最后用 w 命令将操作写入硬盘:
# fdisk /dev/sdb
  1. 格式化 swap 分区(swap 分区名称要看你自己的机器):
# mkswap /dev/sdb2
  1. 启动 swap 分区
# swapon /dev/sdb2
  1. 设置系统启动时自动启用这个交换分区,编辑 /etc/fstab,加入下面一行
/dev/sdb2 swap swap defaults 0 0

用文件做 swap 分区

  1. 用 dd 命令创建要作为 swap 分区的文件。count 表示块的数量,1024 块表示总共 1GB(bs*count):
# dd if=/dev/zero of=/root/swapfile bs=1M count=1024
  1. 用 mkswap 命令格式化 swap 分区文件:
# mkswap /root/swapfile
  1. 启用 swap 分区文件:
# swapon /root/swapfile
  1. 系统开机时自启用,在文件 /etc/fstab 中添加一行:
/root/swapfile swap swap defaults 0 0

Linux - 创建交换分区 swap的更多相关文章

  1. linux创建交换分区

    一.SWAP 概述 当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用.那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到S ...

  2. Linux 创建交换分区扩展虚拟内存

    当计算机的物理内存不足时,可以利用磁盘空间扩张为物理内存,实现的方式则是创建交换分区. 命令:mkswap + 分区设备 (格式化交换分区)     mkswapon +分区设备 (启用交换分区)   ...

  3. Linux设置交换分区swap

    参考: http://www.vpser.net/opt/vps-add-swap.html https://www.zntec.cn/archives/vps-swap.html http://yz ...

  4. Linux 交换分区swap

    Linux 交换分区swap 一.创建和启用swap交换区 如果你的服务器的总是报告内存不足,并且时常因为内存不足而引发服务被强制kill的话,在不增加物理内存的情况下,启用swap交换区作为虚拟内存 ...

  5. 【Linux命令】磁盘分区,格式化,挂载命令,创建交换分区(fdisk,mkfs,mount,umount)

    友情链接 磁盘分区,格式化,挂载,创建交换分区:https://www.cnblogs.com/HeiDi-BoKe/p/11936998.html RAID工作级别:https://www.cnbl ...

  6. Linux环境创建交换分区

    最近在准备在移动端跑一下深度学习训练好的模型,在RK3399的板子上安装scipy时报错.网上查了一下,由于内存不足导致,做个交换分区就搞定了.那么如何做交换分区呢.话不多说,直接开撸. ------ ...

  7. Linux_交换分区SWAP

    一.交换分区SWAP 1️⃣:交换分区SWAP就是LINUX下的虚拟内存分区,它的作用是在物理内存使用完之后,将磁盘空间(也就是SWAP分区)虚拟成内存来使用. 2️⃣:交换分区一般指定虚拟内存的大小 ...

  8. LINUX 设置交换分区的大小

    创建交换分区目录 mkdir /data1/mnt/ 卸载当前交换分区 swapoff /data1/mnt/10GB.swap 设置交换分区为 5Gdd if=/dev/zero of=/data1 ...

  9. CentOS设置交换分区swap

    环境查看 查看未设置交换分区之前 free -h 新加一块磁盘用于交换分区/dev/sdc 格式化 mkswap /dev/sdc 设置为交换分区 swapon /dev/sdc 再次查看 设置为重启 ...

随机推荐

  1. javascript中跨域问题的解决方法汇总

    javascript中实现跨域的方式总结 第一种方式:jsonp请求:jsonp的原理是利用<script>标签的跨域特性,可以不受限制地从其他域中加载资源,类似的标签还有<img& ...

  2. 前端开发HTML&css入门——HTML

    HTML究竟为何物?其实HTML就是一种标记语言,英文全称为Hypertext Markup Language,翻译过来就叫超文本标记语言.它的作用就是负责负责网页的三个要素之中的结构. HTML使用 ...

  3. 你不知道的props和state

    State 与 Props 区别props 是组件对外的接口,state 是组件对内的接口.组件内可以引用其他组件,组件之间的引用形成了一个树状结构(组件树),如果下层组件需要使用上层组件的数据或方法 ...

  4. (架构)React Native 导出项目全局共用组件的模块

    自定义组件全局使用(类似如下) import { ReactNavComponent, Widget, Util } from 'rn-yunxi'; const { RegexpUtil, Stor ...

  5. ls, dir, vdir - 列目录内容

    ls [选项] [文件名...] POSIX 标准选项: [-CFRacdilqrtu1] GNU 选项 (短格式): [-1abcdfgiklmnopqrstuxABCDFGLNQRSUX] [-w ...

  6. HMP许可更新

    1.打开HMP License Manager,显示路径(License File Name)下的文件为最新许可,点击Activate License后,点击Show License Details, ...

  7. 工作中常用到的linux命令总结

    linux系统ubantu debian系统下载文件:wget https://github.com/buger/goreplay/releases/download/v1.0.0/gor_1.0.0 ...

  8. CSP-S 赛前模板复习

    快读模板 这个连算法都算不上... inline int read() { int x=0,f=1; char ch=getchar(); while(ch<'0' || ch>'9') ...

  9. 「版本升级」界面控件Kendo UI正式发布R2 2019|附下载

    通过70多个可自定义的UI组件,Kendo UI可以创建数据丰富的桌面.平板和移动Web应用程序.通过响应式的布局.强大的数据绑定.跨浏览器兼容性和即时使用的主题,Kendo UI将开发时间加快了50 ...

  10. Python网络爬虫数据解析的三种方式

    request实现数据爬取的流程: 指定url 基于request发起请求 获取响应的数据 数据解析 持久化存储 1.正则解析: 常用的正则回顾:https://www.cnblogs.com/wqz ...