首页 > 系统相关 >如何在linux的环境中,创建swap内存?

如何在linux的环境中,创建swap内存?

时间:2023-09-15 10:48:22浏览次数:39  
标签:node 22 nccztsjb linux root swap 内存


背景说明

 

swap内存是系统中的临时内存,或者说,用磁盘的文件空间,当做物理内存来使用。主要是,为了解决一些系统,物理内存不够的情况,可以用swap内存作为一些补充。

但是要注意,swap内存的效率是非常的低的,如果应用对内存有足够的需求,可以考虑增加物理内存来提升性能。

通过下面的内容,你将会知道,如何在centos 7的环境中,创建、格式化、挂载swap内存。

 

创建swap内存的过程

 

  • 查看当前的swap的挂载情况
swapon -s

 

  • 也可以,通过free查看swap的内存情况
[root@nccztsjb-node-22 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7631         150        6896          16         584        7205
Swap:             0           0           0
[root@nccztsjb-node-22 ~]# 

通过以上的输出结果,可以知道,目前机器的swap内存是0的。

 

  • 查看主机的磁盘空间,找到一个合适的位置存放swap文件
[root@nccztsjb-node-22 ~]# df -h
Filesystem      Size  Used Avail Use% Mounted on
/dev/vda2        49G  3.9G   43G   9% /
devtmpfs        3.8G     0  3.8G   0% /dev
tmpfs           3.8G     0  3.8G   0% /dev/shm
tmpfs           3.8G   17M  3.8G   1% /run
tmpfs           3.8G     0  3.8G   0% /sys/fs/cgroup
/dev/vda1       477M  136M  313M  31% /boot
tmpfs           764M     0  764M   0% /run/user/0
[root@nccztsjb-node-22 ~]# 

通过上面的输出结果,可以知道,根目录 / ,存在可用的空间,当然也可以选择挂载的磁盘。

 

  • 创建swap文件
dd if=/dev/zero of=/swapfile count=20480 bs=1MiB
  • 这里面的块大小参数bs=1MiB,也就是1M。
  • count表示这样的块的个数,目前是20480,也就是:20480 * 1M = 20G
  • 如果要调整swap文件的大小,修改count的参数值,就可以了。

注意:不要使用fallocate命令创建文件,这样的文件,是无法进行挂载的。

 

查看创建的文件

[root@nccztsjb-node-22 ~]# ls -l /swapfile 
-rw-r--r-- 1 root root 21474836480 Sep 15 10:17 /swapfile
[root@nccztsjb-node-22 ~]# 

 

  • 修改文件的权限
chmod 600 /swapfile

确保,只有root用户能够读取这个文件。

[root@nccztsjb-node-22 ~]# ls -l /swapfile 
-rw------- 1 root root 21474836480 Sep 15 10:17 /swapfile
[root@nccztsjb-node-22 ~]# 

 

  • 格式化swap文件
mkswap -f /swapfile

 

  • 挂载swap文件
swapon /swapfile

 

  • 检查swap的挂载情况
[root@nccztsjb-node-22 ~]# swapon -s
Filename                                Type            Size    Used    Priority
/swapfile                               file    20971516        0       -1
[root@nccztsjb-node-22 ~]# free -m
              total        used        free      shared  buff/cache   available
Mem:           7631         166         137          16        7327        7131
Swap:         20479           0       20479
[root@nccztsjb-node-22 ~]# 

通过上面的查询结果,知道,swap已经成功的挂载了。

 

  • 设置swap文件开机自动挂载

这个配置是手动的进行挂载,当服务器重启之后,配置就丢失了,需要重新的挂载。

这里面,设置开机自动挂载。

echo "/swapfile   swap    swap    sw  0   0" >> /etc/fstab

 

执行过程

[root@nccztsjb-node-22 ~]# echo "/swapfile   swap    swap    sw  0   0" >> /etc/fstab
[root@nccztsjb-node-22 ~]# cat !$
cat /etc/fstab

#
# /etc/fstab
# Created by anaconda on Fri Jun 22 08:49:12 2018
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=6475aff8-0ed4-4a56-bddd-fdc303b5b9c1 /                       ext4    defaults        1 1
UUID=fc99d9d7-58f0-4605-af4f-8127edf6fb9b /boot                   ext4    defaults        1 2
/swapfile   swap    swap    sw  0   0
[root@nccztsjb-node-22 ~]# 

通过上面的步骤,就实现了swap内存文件的创建、格式化、挂载和开机自动启动。

 

就通过物理文件的方式,间接的增加了系统的内存大小。

标签:node,22,nccztsjb,linux,root,swap,内存
From: https://www.cnblogs.com/chuanzhang053/p/17704325.html

相关文章

  • 在 Linux Docker 容器中安装 Windows 虚拟机
    1查看或开启虚拟化我们需要检查我们的系统是否支持虚拟化。由于我们的容器将运行虚拟机管理程序,因此除非主平台支持虚拟化,否则它将无法工作。物理机可以通过bios进行开启,虚拟机也需要开启。这个是虚拟化的内容,所以自行百度打开sudoegrep-c'(vmx|svm)'/proc/cpuinfo2安......
  • Linux环境变量总结
    Linux环境变量分类一、按照生命周期来分,Linux环境变量可以分为两类:1、永久的:需要用户修改相关的配置文件,变量永久生效。2、临时的:用户利用export命令,在当前终端下声明环境变量,关闭Shell终端失效。二、按照作用域来分,Linux环境变量可以分为:1、系统环境变量:系统环境变量对该系统......
  • linux下离线环境得安装
    关于在离线linux服务器上安装python环境、python包得各种问题和坑(linux是只有yum得情况下)、1、第一种:安装python->逐个安装python包->用pip的方式   问题l:如果涉及的python包需要安装c库就比较麻烦,比如说gdal的安装需要sqlite、proj的tar源码进行编译安装环境,版本也容易......
  • Linux基础39 nginx动静分离, nginx资源分离, rewrite概述
    一、动静分离动静分离,通过中间件将动静分离和静态请求进行分离;通过中间件将动态请求和静态请求,可以减少不必要的请求消耗,同时能减少请求的延时。通过中间件将动态请求和静态请求分离,逻辑图如下: 二、配置动静分离1.单台机器的动静分离[[email protected]]#vimwordpre......
  • Linux 实用命令整理
    校准时间ntpdatecn.pool.ntp.org压缩tar-zcvfcompressed.tar.gzmyfile.txttar-zxvfexample.tar.gzzipcompressed.zipmyfile.txtunzipexample.zipfindfind.-name"*.log"-lscurlGET:curlhttps://www.example.comPOST:curl-d'name=dge&age=26......
  • linux中的异常及信号
    在Linux中,异常处理机制主要由信号和异常处理程序(也称为信号处理程序)两个部分组成。信号是一种软件中断,用于通知进程发生了某些事件或出现了某些异常情况。在Linux中,有许多不同的信号,例如SIGSEGV(非法内存访问)、SIGKILL(强制终止进程)和SIGINT(中断信号,通常由Ctrl+C触发)等。当......
  • docker shm,共享内存出问题
    BUSerrorencounteredinDataLoaderworker.Thismightbecausedbyinsufficientsharedmemory(shm),pleasecheckwhetheruse_shared_memoryissetandstoragespacein/dev/shmisenough错误一定要停掉docker服务Docker:Pytorch报错insufficientsharedmemory(......
  • Linux内核开发:任务调度与内存管理Linux内核开发:任务调度与内存管理
    Linux内核开发:任务调度与内存管理Linux内核是操作系统的核心,负责管理系统资源、硬件设备和应用程序。在Linux内核中,任务调度和内存管理是两个关键的子系统。本文将介绍这两个子系统的基本原理和实现方法。一、任务调度任务调度是操作系统的核心功能之一,它决定了系统中各个进程的执......
  • Linux防火墙:Firewalld 常用命令
    Linux防火墙:Firewalld常用命令CentOS和Fedora中默认的防火墙是Firewalld查看防火墙状态firewall-cmd--state启动防火墙systemctlstartfirewalld重启防火墙systemctlrestartfirewalld暂时关闭防火墙systemctlstopfirewalld永久关闭防火墙system......
  • 后端常用的Linux命令大全,建议收藏
    引言作为一名后端工程师,使用终端是一种常见的做法,也是你应该学习的技能。许多命令和实用程序可以帮助你在使用Linux时更有效地完成任务。基本Linux命令如果你想使用Linux操作系统,学习常用的命令将会大有帮助。本篇将为后端工程师回顾一些基本到高级的Linux操作命令。......