Centos7 合理分配 swap空间

您所在的位置:网站首页 原神是个什么游戏模式 Centos7 合理分配 swap空间

Centos7 合理分配 swap空间

2023-07-23 21:18| 来源: 网络整理| 查看: 265

一:查看服务器内存情况命令:

#free

可以看到,我的服务器还没有配置Swap虚拟内存!

第二步:检查硬盘驱动器分区上的可用空间

在我们创建swap文件之前,我们将检查当前的磁盘使用情况,以确保我们有足够的空间。通过输入:

#df -h

Filesystem 列中的/dev/vda1 是我们的磁盘。在这个例子中我们有足够的空间(仅有9.1G被使用)。 对swap空间的适当大小实际上取决于您的个人偏好和您的应用程序要求。通常,等于或双倍于系统内存的量是一个很好的选择。如果您只是将其用作RAM后备,那么你的swap分区尽可能不要超过4G。

一般来说可以按照如下规则设置swap大小:

4G以内的物理内存,SWAP 设置为内存的2倍。 4-8G的物理内存,SWAP 等于内存大小。 8-64G 的物理内存,SWAP 设置为8G。 64-256G物理内存,SWAP 设置为16G。   第三步:创建Swap分区文件

我们可以在文件系统上创建一个swap分区。我们将在根/目录中分配我们想要调用的swap大小的文件swapfile。

创建交换文件的最佳方法是使用fallocate。此命令将创建指定大小的文件。

由于我的服务器物理内存数2G,因此我们将在本教程中创建4G文件:

sudo fallocate -l 4G /swapfile

我们可以通过输入以下内容来验证其是否保留了正确的空间量:

#ls -lh /swapfile

 

第四步:启用Swap分区

我们需要将swap文件转换为swap分区。首先,我们需要锁定文件的权限,以便只有具有root权限的用户才能读取内容。

通过输入以下内容使该文件只能由root访问:

sudo chmod 600 /swapfile

我们现在可以通过输入以下内容将文件标记为swap空间

sudo mkswap /swapfile

标记文件后,我们可以启用swap文件:

sudo swapon /swapfile

输入以下内容验证交换是否可用:

sudo swapon --show

 

我们可以用free命令再次检查:

free -h

我们的swap已成功设置,我们的操作系统将在必要时使用它。

 

第五步:永久化swap文件

我们已启用当前会话中的swap文件。但是,如果我们重新启动的话,服务器将不会自动保留swap设置。我们可以通过将交换文件添加到我们的/etc/fstab来进行更改。

为了避免出现任何问题,先备份/etc/fstab文件:

#sudo cp /etc/fstab /etc/fstab.bak

输入以下内容,将swap文件信息添加到/etc/fstab文件末尾:

#echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab 第六步:调整您的Swap设置

您可以配置一些选项,这些选项会在处理swap时对系统的性能产生影响。

调整Swappiness参数

该swappiness参数主要配置系统将数据从RAM交换到交换空间的频率。该参数的值是介于0和100之间的百分比。swappiness,Linux内核参数,控制换出运行时内存的相对权重。swappiness参数值可设置范围在0到100之间。 低参数值会让内核尽量少用交换,更高参数值会使内核更多的去使用交换空间。默认值为60(参考网络资料:当剩余物理内存低于40%(40=100-60)时,开始使用交换空间)。对于大多数操作系统,设置为100可能会影响整体性能,而设置为更低值(甚至为0)则可能减少响应延迟。

我们可以通过输入以下内容来查看当前的swappiness值:

cat /proc/sys/vm/swappiness

对于服务器本身来说,您可能希望这个数值更接近于0。我们可以使用sysctl命令将swappiness设置为不同的值。

例如,要将swappiness设置为10(推荐设置为10)

修改swappiness的值

1:临时设置(重启后失效):

sudo sysctl vm.swappiness=10 vm.swappiness = 10

2:永久设置

我们可以通过在/etc/sysctl.conf文件中添加以下行来自动设置此值:

sudo vi /etc/sysctl.conf

在底部,您可以添加:

vm.swappiness=10

完成后保存并关闭文件。

调整缓存压力设置

您可能想要修改的另一个相关值是vfs_cache_pressure。这个数值是比较高的,意味着系统从缓存中移除inode信息的速度比较快。一个保守一些的数值是50。

您可以通过proc命令来查看当前值:

cat /proc/sys/vm/vfs_cache_pressure 100

我的设置系统会很快地从缓存中删除inode信息。我们可以通过输入以下内容将其设置为更保守的值(如50):

sudo sysctl vm.vfs_cache_pressure=50 vm.vfs_cache_pressure = 50

同样,这仅适用于我们当前的会话。我们可以通过将其添加到配置文件来改变它,就像我们使用swappiness设置一样:

sudo vi /etc/sysctl.conf

在底部,添加指定新值的行:

vm.vfs_cache_pressure=50

完成后保存并关闭文件。

结论

本教程将为您提供一些额外的空间来避免内存不足的异常。swap空间可以避免一些常见问题。如果遇到内存不足错误,或者发现系统无法使用所需的应用程序,您的最佳解决方案是优化应用程序配置或升级服务器。

 

 



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3