专栏首页緣來來來腾讯云服务器添加虚拟内存

腾讯云服务器添加虚拟内存

使用腾讯云服务器也有一段时间了,不过由于对Linux知识了解的比较少,加上服务器稳定性一直都比较好的,所以便很少去折腾服务器。直到最近,站点时常打不开,查了很久的原因,才发现是内存不够导致的~

用命令free查看内存使用情况,发现swap分区大小为0,原来腾讯云主机默认是没有划分swap分区的。

所以由于我的服务器物理内存本身就很少,而且又没设置swap分区,运行效果可想而知,稍有点并发量、或者恶意用户探测访问等,网站就很容易卡壳了。

swap是用来做虚拟内存的。虽然swap无法代替物理内存,但不可缺少。

swap分区作用:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。

建立swap的两种方法

  1. 建立分区;
  2. 创建交换文件。

运行速度:

物理内存 > swap分区 > swap文件。

当你的数据盘已经装了很多内容,不方便重新规划的话,也只好使用swap文件了。像我由于只有一块磁盘,而且磁盘已经装了不少内容,所以就没有选择磁盘格式化,而是选择创建swap文件。

下面介绍创建swap文件的方法:

创建swap文件

首先,选择你swap文件要放置的位置,比如直接在根目录/ 下创建或者选择一个目录,如/opt。比如我直接在根目录下创建,然后设置swap分区的名称为swapfile:

  1. 定义swap的大小及位置 [root@VM_0_10_centos ~]# cd / [root@VM_0_10_centos /]# dd if=/dev/zero of=/swapfile bs=1k count=2048000 上面swapfile为你创建swap文件分区的名称,你可以根据需要改成你自己的名称;bs 即blocksizes,每个块大小为1k;count=2048000,总大小为2G的文件。因为建立swap分区大小的标准一般为物理内存的两倍,而我的内存是1G,所以我选择swap文件大小为2G,当然,也要考虑你硬盘剩余容量的大小。我的硬盘还剩15G,所以再划分2G给swap文件绰绰有余。如果你的内存是0.5G,那么count大小可以选择1024000(1G)。
  2. 建立swap [root@VM_0_10_centos /]# mkswap /swapfile
  3. 启动swap [root@VM_0_10_centos /]# swapon /swapfile
  4. 检查是否正确 [root@VM_0_10_centos /]# free -m total used free shared buff/cache available Mem: 1838 600 65 2 1172 1043 Swap: 1999 0 1999 或者使用swapon -s 命令查看: [root@VM_0_10_centos /]# swapon -s 文件名 类型 大小 已用 权限 /swapfile file 2047996 0 -1 上面的Swap和/swapfile都分别能看到总容量大小,使用了多少。
  5. 设置开机时自启用swap分区 修改/etc/fstab使其启动时自动mount,这个操作与swap分区法一样,在/etc/fstab中最后一行增加如下语句: /swapfile swap swap defaults 0 0 添加方法可以用vi进行编辑,或者直接echo添加: [root@VM_0_10_centos /]# echo "/swapfile swap swap defaults 0 0" >>/etc/fstab 注: /swapfile 路径可以修改,可以根据创建的swap文件具体路径来配置。

删除swap分区

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

[root@VM_0_10_centos /]# swapoff /swapfile

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

推荐阅读

  • 如何将设计思维应用到精益初创公司的软件开发

    我们所说的设计思维,是指由 IDEO 公司的 Tim Brown 提出,并且正在改变全世界组织的设计思维,简称 DT。(译者注:IDDO,当代最具影响力的设计公司之一)

    Aceyclee
    Serverless无服务器云函数
  • InnoDB 事务加锁分析

    一般大家对数据库事务的了解可能停留在事务的ACID特性以及事务4种不同的隔离级别层面上,而对于事务 4 种不同隔离级别如何实现了解相对较少。

    2020labs小助手
    MySQLSQL数据库MVCMVCC
  • FutureTask 核心源码解析

    研究源码,一般我们都从整体以及实例先入手,再研究细节,不至于一开始就“深陷其中而"当局者迷".

    JavaEdge
    HTTPJava
  • 200行代码落地人脸识别开锁应用

    2019年国庆,帮朋友实现了一个人脸识别进行开锁的功能,用在他的真人实景游戏业务中。几个月来运行稳定,体验良好,借着这个春节宅家的时间,整理一下这个应用的实现过程。

    高树磊
    人脸识别图像处理
  • 滑动验证码攻防对抗

        在业务安全领域,滑动验证码已经是国内继,传统字符型验证码之后的标配。众所周知,打码平台和机器学习这两种绕过验证码的方式,已经是攻击者很主流的思路,不再阐述。冷渗透介绍的是一个冷门的绕过思路和防御方案。这些积累,均来自于实战之中,希望有用。

    周俊辉
    HTTP网络安全安全网站
  • 程序员进阶必读,万字总结Mysql优化精华篇

    price decimal(8,2)有2位小数的定点数,定点数支持很大的数(甚至是超过int,bigint存储范围的数)

    程序员内点事
    全文检索缓存SQL数据库Python
  • 运维转型 | 运维人不再只是“救火英雄”

    各行各业都开启了数字化转型的进程,运维团队在这种时代的浪潮中又该何去何从?我在帮助一些企业落地了运维技术平台之后,开始反思这个问题,并将所思所想整理成本篇文章。

    嘉为科技
    企业运维自动化云计算
  • WEB开发常见的安全漏洞和解决思路

    SQL注入时web开发中最常见也是危害性最大的安全漏洞,SQL注入攻击可能会导致 服务器故障,数据泄漏,数据被恶意删除等等严重后果。

    windwei
    SQLHTTPhttps安全漏洞PHP
  • 详解Winograd变换矩阵生成原理

    文本首发知乎:https://zhuanlan.zhihu.com/p/87516875

    Ldpe2G
    编程算法
  • Linux网络性能优化相关策略

    1. rx-checksumming:校验接收报文的checksum。

    glinuxer
    Linux

扫码关注云+社区

领取腾讯云代金券