首页 > 其他分享 >创建swap的方式方法与swap的优缺点说明

创建swap的方式方法与swap的优缺点说明

时间:2024-05-01 14:33:40浏览次数:20  
标签:swapfile 创建 cache 优缺点 free swap 内存

创建swap的方式方法与swap的优缺点说明


背景

发现阿里云的机器默认关闭了swap

但是自己的内存设置又比较夸张. 
32G内存设置了20G的堆区.
但是实际上内存使用了 27.5G
然后可用内存只剩下 300M 外加 2G的 buffer 跟CPU的cache
但是产品会宕机
准备创建上一块swap..

创建过程

dd if=/dev/zero of=/swapfile bs=1M count=12K
chmod 0600 /swapfile
mkswap /swapfile
swapon /swapfile

注意 我这边不准备设置到 fstab 里面去 
如果必须适
/swapfile swap swap defaults 0 0

测试验证

创建之前:
 free -g
               total        used        free      shared  buff/cache   available
Mem:              45          17           2           0          26          27
Swap:              0           0           0

创建文件, 注意建议改改文件属主

创建之后
free -g
               total        used        free      shared  buff/cache   available
Mem:              45          17           0           0          28          27
Swap:             11           0          11

关于swap的取舍

内存越来越便宜, CPU的算力很难提升.
为了产品的快速发展, 还是应该增加内存.
不管是应用还是数据库
如果大量的想要读取或者是写入的内容能够在内存中安家
那么系统的速度会非常快速. 

如果需要swap in 和swap off
必须进行一次强行的上下文切换, 到内核态
将文件从磁盘读出或者是写入. 
一方面有切换的损失, 另一方面也有服务等待IO的过程
会导致产品性能指数级下降. 
内存的时延基本上 60ns级别. 磁盘是 6ms 的级别
差了十万倍. 会导致系统严重出问题. 

保留swap 可以保证产品稳定, 减少倍OOM killer 的概率
但是会对性能有极坏的负面影响. 

标签:swapfile,创建,cache,优缺点,free,swap,内存
From: https://www.cnblogs.com/jinanxiaolaohu/p/18169322

相关文章

  • mongodb创建索引和删除索引和背景索引background
    mongodb创建索引和删除索引和背景索引backgroundMongoDB的背景索引允许在后台创建和重建索引,而不会对数据库的正常操作产生影响。背景索引的创建过程是非阻塞的,可以在业务运行时创建或重建索引,而不会中断其他操作。这使得我们可以在生产环境中安全地创建和维护索引,而不必担心对数......
  • yarn + vue3 + vite 创建项目
      yarncreatevite//通过yarn+vite创建项目填写的创建的项目名称,默认名称vite-project 选择框架,我们点击上下键,回车选择,我们这里选择vue 选择语言,我们点击上下键,回车选择,我们这里选择TypeScript,即ts,然后回车 创建成功,如下 按照提示,执行命令cdvite-pr......
  • openGauss 创建和管理索引
    创建和管理索引背景信息索引可以提高数据的访问速度,但同时也增加了插入、更新和删除操作的处理时间。所以是否要为表增加索引,索引建立在哪些字段上,是创建索引前必须要考虑的问题。需要分析应用程序的业务处理、数据使用、经常被用作查询的条件或者被要求排序的字段来确定是否建......
  • openGauss 创建和管理序列
    创建和管理序列背景信息序列Sequence是用来产生唯一整数的数据库对象。序列的值是按照一定规则自增的整数。因为自增所以不重复,因此说Sequence具有唯一标识性。这也是Sequence常被用作主键的原因。通过序列使某字段成为唯一标识符的方法有两种:一种是声明字段的类型为序列整型......
  • openGauss 创建和管理数据库
    创建和管理数据库前提条件用户必须拥有数据库创建的权限或者是数据库的系统管理员权限才能创建数据库,赋予创建数据库的权限参见管理用户及权限。背景信息初始时,openGauss包含两个模板数据库template0、template1,以及一个默认的用户数据库postgres。postgres默认的兼容数据库......
  • openGauss 创建和管理分区表
    创建和管理分区表背景信息openGauss数据库支持的分区表为范围分区表、间隔分区表、列表分区表、哈希分区表。范围分区表:将数据基于范围映射到每一个分区,这个范围是由创建分区表时指定的分区键决定的。这种分区方式是最为常用的,并且分区键经常采用日期,例如将销售数据按照月份进......
  • openGauss 创建和管理视图
    创建和管理视图背景信息当用户对数据库中的一张或者多张表的某些字段的组合感兴趣,而又不想每次键入这些查询时,用户就可以定义一个视图,以便解决这个问题。视图与基本表不同,不是物理上实际存在的,是一个虚表。数据库中仅存放视图的定义,而不存放视图对应的数据,这些数据仍存放在原来......
  • openGauss 创建和管理表
    创建和管理表创建表向表中插入数据更新表中数据查看数据删除表中数据详情查看:https://opengauss.org详情查看:https://docs-opengauss.osinfra.cn......
  • openGauss 创建和管理表空间
    创建和管理表空间背景信息通过使用表空间,管理员可以控制一个数据库安装的磁盘布局。这样有以下优点:如果初始化数据库所在的分区或者卷空间已满,又不能逻辑上扩展更多空间,可以在不同的分区上创建和使用表空间,直到系统重新配置空间。表空间允许管理员根据数据库对象的使用模......
  • openGauss 创建和管理schema
    创建和管理schema背景信息schema又称作模式。通过管理schema,允许多个用户使用同一数据库而不相互干扰,可以将数据库对象组织成易于管理的逻辑组,同时便于将第三方应用添加到相应的schema下而不引起冲突。管理schema包括:创建schema、使用schema、删除schema、设置schema的搜索路径......