1、为什么要使用虚拟内存 当我们没有多余的钱去购买大内存的云服务器时,但是当前服务器里面的软件和程序运行的比较多导致内存不够用了。这个时候可以通过增加虚拟内存来扩大内存容量。但是在启用虚拟内存时,需要仔细考虑系统的实际需求和硬件配置,以及权衡虚拟内存的优缺点,考虑好利弊后在开启虚拟内存。 2、什么是
虚拟内存是一种将部分物理内存扩展到磁盘空间的技术,以提供更大的内存空间和更好的系统性能。在服务器内存不足时,通过增加虚拟内存来扩大内存容量是一种常见的解决方案。然而,在启用虚拟内存时,需要仔细考虑系统的实际需求和硬件配置,以及权衡虚拟内存的优缺点。
当服务器内存不足时,可以通过增加虚拟内存来扩大内存容量。但是在启用虚拟内存时,需要仔细考虑系统的实际需求和硬件配置,以及权衡虚拟内存的优缺点,考虑好利弊后在开启虚拟内存。
虚拟内存允许系统在物理内存不足时,将不常用的内存页转移到磁盘上,从而释放物理内存供活跃的进程使用。
使用虚拟内存的优点:
增加可用内存: 虚拟内存允许系统在物理内存不足时将部分内存数据存储到磁盘上,从而扩展了系统可用的内存空间。
仍然可以继续运行应用程序,避免了因内存不足而导致的系统崩溃或应用程序崩溃。
提高系统稳定性: 虚拟内存可以防止系统因内存不足而崩溃。
支持大型程序运行: 虚拟内存可以提供额外的内存空间,使大型应用程序能够在物理内存有限的情况下继续运行。
灵活管理内存: 虚拟内存允许系统管理员根据实际需求动态调整交换空间的大小,优化系统的性能和稳定性。
提高系统响应速度: 虚拟内存可以减少因内存不足而导致的系统响应速度下降的情况。
使用虚拟内存的弊端:
总的来说,虚拟内存的使用可以提高系统的稳定性、可用性和性能,但是在启用虚拟内存时,需要仔细考虑系统的实际需求和硬件配置,以及权衡虚拟内存的优缺点。
物理内存是用于存储正在运行的程序和数据的地方。当应用程序需要使用内存时,它会向操作系统请求内存分配。当物理内存不足时,系统将部分数据从物理内存交换到磁盘上的交换区(Swap),这样可以释放物理内存,以便给其他进程使用。
Swap是Linux系统中的一种虚拟内存技术,用于辅助物理内存(RAM)的管理。当物理内存不足时,Swap提供了一种将部分内存内容交换到硬盘上的方法,以释放物理内存供其他进程使用。
swap相关使用命令:
显示当前启用的交换分区和交换文件的摘要信息,包括路径、大小和使用情况:
swapon -s
swapon -show
启用指定的交换分区或交换文件:
swapon /opt/swapfile # 启用交换文件
swapon /dev/vda1 # 启用交换分区
创建交换分区或交换文件:
mkswap swapdata
关闭正在使用的交换分区或交换文件
swapoff /opt/swapfile # 关闭交换文件
swapoff /dev/vda1 # 关闭交换分区
多个swap设置优先级, 优先级相同将同时使用, 在0到32767中间选一个数字
swapon -p 0 /opt/swapfile # 交换文件路径
通过设置交换文件设置虚拟内存。
df -h
dd
工具来创建一个交换文件
dd if=/dev/zero of=/opt/swapdata bs=1024 count=16777216
参数说明:
dd
:用来创建交换文件。
if=/dev/zero
:输入文件的路径。/dev/zero是一个特殊设备文件,它会提供一系列的零字节。
of=/opt/swapdata
:输出文件的路径。指定了交换文件的路径为
/opt/swapdata
。
bs=1024
:块大小,指定
dd
命令一次传输的数据块大小为1024字节。
count=16777216
:创建一个16GB大小的交换文件。
创建成功在/opt目录生成一个swapdata文件
chown root:root /opt/swapdata # 交换文件的所有者和所属组
chmod 600 /opt/swapdata #只有root用户能读写
mkswap /opt/swapdata # 交换文件路径
swapon /opt/swapdata
激活成功后就可以使用
swapon -s
查看交换文件的摘要信息了
# 进入/etc/fstab文件进行修改。
vim /etc/fstab
#末尾追加
/opt/swapdata swap swap defaults 0 0
对于使用多大比例内存之后开始使用swap,在系统配置文件中可以通过调整参数进行修改。查看比例信息:
cat /proc/sys/vm/swappiness
该参数范围为0-100。0 就是最大限度使用内存,尽量不使用swap。100是积极使用swap。越高越会使用swap分区。重新配置值:
sysctl vm.swappiness=30
如需永久配置:
echo "vm.swappiness = 30" >> /etc/sysctl.conf
通过
free -h
命令查看内存使用情况。
关闭 swap 文件
swapoff /opt/swapdata
删除swap分区文件
rm -rf /opt/swapdata
删除fstab文件里追加的swap分区开机自动挂载配置内容
/opt/swapdata swap swap defaults 0 0
小编推荐阅读