Linux 如何调整虚拟内存大小

本文介绍在 CentOS 系统上如何通过创建 swapfile 来增加虚拟内存的方法。包括使用 dd 命令创建交换文件、使用 mkswap 对交换文件进行格式化、启用交换文件并确保其在系统重启后自动加载。

我用的CentOS, 直接贴操作步骤,供参考:

[root@1pad ~]# free -m

             total       used       free     shared    buffers     cached
Mem:          3702        722       2979          0        149        230
-/+ buffers/cache:        342       3359
Swap:         3839          0       3839
[root@1pad ~]# cd /home
[root@1pad home]# pwd

/home
[root@1pad home]# dd if=/dev/zero of=swapfile bs=4096 count=15728640                              #(新的虚拟内存大小 = bs * count bytes)
15728640+0 records in
15728640+0 records out
64424509440 bytes (64 GB) copied, 478.958 s, 135 MB/s
[root@1pad home]# ls
alex  swapfile
[root@1pad home]# /sbin/mkswap swapfile
mkswap: swapfile: warning: don't erase bootbits sectors
        on whole disk. Use -f to force.
Setting up swapspace version 1, size = 62914556 KiB
no label, UUID=a029accb-6676-48cb-ba7d-d31b9e84be37
[root@1pad home]# /sbin/swapon swapfile
[root@1pad home]# /sbin/swapon -s

Filename                                Type            Size    Used    Priority
/dev/dm-1                               partition       3932152 236     -1
/home/swapfile                          file            62914552        0       -2
[root@1pad home]# free -m
             total       used       free     shared    buffers     cached
Mem:          3702       3565        137          0        138       2972
-/+ buffers/cache:        453       3248
Swap:        65279          0      65279
[root@1pad home]# vim /etc/fstab                             #在fstab结尾加入如下两行,目的是为了让新创建的swap分区在电脑重启后能够自动挂载
#Expand the swap space---Alex Tian, Jan. 27th, 2015
/home/swapfile swap swap defaults 0 0

最后检查/etc/rc.d/rc.local脚本中是否将所有fstab中要求挂载的swap分区都给关闭。
如果是的话,将其中的swapoff -a注释或者删掉。
<think>好的,用户想了解如何在Linux系统中调整虚拟内存大小以便顺利安装Sonar。首先,我需要回忆一下Linux系统中虚拟内存的相关知识。虚拟内存通常由物理内存(RAM)和交换空间(swap)组成,当物理内存不足时,系统会使用交换空间作为扩展。调整虚拟内存大小可能涉及到增加交换空间的大小。 接下来,我应该考虑用户的具体需求。安装Sonar可能需要较大的内存,如果物理内存不足,系统可能因为内存不足而无法完成安装或运行。这时候增加交换空间是一个常见的解决方法。 步骤方面,首先需要检查当前的交换空间使用情况,可以使用`free -h`或者`swapon --show`命令。然后,用户可能需要创建或扩展交换文件。例如,使用`fallocate`或`dd`命令创建一个指定大小的文件,将其设置为交换文件格式,并激活它。此外,还需要在/etc/fstab中添加条目以确保交换文件在重启后仍然有效。 同时,需要注意权限问题,交换文件应该只有root用户有读写权限,以避免安全风险。调整swappiness参数可能也是一个优化点,但用户可能主要需要增加交换空间的大小。 可能还需要提醒用户,虽然交换空间可以缓解内存不足的问题,但使用过多交换空间可能会导致性能下降,因为磁盘速度远低于RAM。因此,长期解决方案应该是增加物理内存,但临时调整交换空间是可行的。 另外,参考之前提供的引用中提到了安装特定软件时使用命令行操作,例如通过wget获取镜像或者验证Java安装,因此调整虚拟内存的步骤也可能需要类似的命令行操作,用户可能对此有一定的熟悉度。 需要确保步骤正确,例如创建交换文件时使用正确的命令,避免数据丢失。同时,检查是否有现有的交换空间,如果有的话,可能需要关闭旧的交换文件再创建新的,或者直接扩展。 最后,生成相关问题需要考虑用户可能的后续疑问,比如如何调整参数优化性能,或者如何永久设置交换空间等。</think>### 如何调整 Linux 虚拟内存大小以安装 Sonar #### 1. 检查当前虚拟内存状态 通过以下命令查看当前交换空间(swap)使用情况: ```bash free -h swapon --show ``` 输出示例: ``` total used free Swap: 2.0G 512M 1.5G ``` #### 2. 创建交换文件(以新增4GB为例) ```bash # 创建交换文件(路径可自定义) sudo fallocate -l 4G /swapfile # 设置权限 sudo chmod 600 /swapfile # 格式化为交换文件 sudo mkswap /swapfile # 启用交换文件 sudo swapon /swapfile ``` #### 3. 永久生效配置 在`/etc/fstab`文件末尾添加: ``` /swapfile none swap sw 0 0 ``` #### 4. 验证调整结果 ```bash free -h ``` 输出应显示扩容后的交换空间,例如: ``` Swap: 6.0G 0B 6.0G ``` #### 5. 调整 swappiness 参数(可选) 修改`/etc/sysctl.conf`文件,添加: ``` vm.swappiness=10 ``` 运行`sudo sysctl -p`使配置生效,此操作可减少交换空间使用频率,提升性能[^1]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值