zoukankan      html  css  js  c++  java
  • 在亚马逊的EC2环境中创建swap

    创建swap分区很简单,首先得创建一个文件,然后将这个文件设置为交换分区,最后给系统使用这个交换分区。

    网络上很多文章所使用的命令,会在设置交换分区的时候出现错误,这是因为创建文件的时候使用了错误的方式。

    # 创建文件
    [root@VM_171_54_centos ~]# fallocate -l 4G /swapfile
     
    # 检查文件信息
    [root@VM_171_54_centos ~]# ll -h /swapfile 
    -rw-r--r-- 1 root root 4.0G Jan 30 23:05 /swapfile
     
    # 修改文件权限
    [root@VM_171_54_centos ~]# chmod 600 /swapfile
     
    # 再次检查文件信息
    [root@VM_171_54_centos ~]# ll -h /swapfile 
    -rw------- 1 root root 4.0G Jan 30 23:05 /swapfile
     
    # 将文件设置为交换分区
    [root@VM_171_54_centos ~]# swapon /swapfile
    swapon: /swapfile: read swap header failed: Invalid argument

    从上面可以看出,在设置交换分区的时候,系统抛出了错误信息。

    问题其实很简单,设置交换分区所使用的命令swapon需要使用物理分配的文件空间,但创建交换文件时使用的fallocate却是使用ioctls来快速划分一块区域,因为不是物理分配的空间,所以在设置交换分区的时候会出现错误。

    此时我们可以使用dd命令创建一个文件:

  • 相关阅读:
    java实现验证码功能
    C# 自动注册OCX方法
    wamp出现You don’t have permission to access/on this server提示
    C# 图像旋转代码
    C# 实现图像快速 水平 垂直 翻转
    C#创建Graphics对象的方法
    winform控件大小改变是防止背景重绘导致的闪烁(转载)
    C#中DataTable中Rows.Add 和 ImportRow 对比
    MongoDb C# 驱动操作示例
    解决c#所有单线程单元(STA)线程都应使用泵式等待基元(如 CoWaitForMultipleHandles),并在运行时间很长的操作过程中定期发送消息。 转载
  • 原文地址:https://www.cnblogs.com/cx850116/p/10697622.html
Copyright © 2011-2022 走看看