统信uos内存不足时应配置swap:先用swapon --show和cat /proc/swaps检查状态;推荐创建swap文件(fallocate→chmod→mkswap→swapon→fstab);也可建独立swap分区;支持扩容缩容;禁用需谨慎。

如果您在运行统信UOS过程中遇到内存不足、系统响应迟缓或程序因OOM(Out of Memory)被强制终止,可能是由于未配置swap分区或现有swap空间过小。以下是配置与调整swap分区的具体操作步骤:
一、确认当前swap状态
swap分区(或swap文件)是Linux内核用于临时存放内存中不活跃页面的磁盘空间,可缓解物理内存压力。需先检查系统是否已启用swap及当前容量。
1、打开终端,执行命令查看swap使用情况:
sudo swapon --show
2、执行命令确认是否存在swap设备或文件:
cat /proc/swaps
3、若输出为空或仅显示“Filename Type Size Used Priority”,说明当前未启用swap;此时不可直接跳过检测步骤进行创建,否则可能覆盖已有挂载点或导致fstab配置错误。
二、创建swap文件(推荐,无需重启,适用于所有安装方式)
swap文件比swap分区更灵活,支持动态增删,且不依赖磁盘空闲分区,适合大多数UOS桌面与服务器环境。
1、以root权限创建大小为2GB的swap文件(可根据物理内存大小调整,建议为内存的1–2倍):
sudo fallocate -l 2G /swapfile
2、设置文件权限,禁止非root用户读写:
sudo chmod 600 /swapfile
3、将文件格式化为swap类型:
sudo mkswap /swapfile
4、立即启用该swap文件:
sudo swapon /swapfile
5、验证启用结果:
sudo swapon --show
6、使swap文件在系统重启后自动生效,需写入fstab:
echo '/swapfile none swap sw 0 0' | sudo tee -a /etc/fstab
三、创建独立swap分区(适用于有未分配空间且追求稳定性的场景)
当磁盘存在未分配空间,且用户倾向使用传统分区式swap时,可在Live环境或系统空闲时通过fdisk + mkswap完成。此方式需确保目标分区未被挂载,且不与根分区共用同一逻辑卷组(如LVM中需单独LV)。
1、使用lsblk或sudo fdisk -l识别含未分配空间的磁盘(如/dev/sda)
2、启动分区工具:
sudo fdisk /dev/sda
3、在fdisk交互界面中依次输入:
n(新建分区)→ p(主分区)→ 默认分区号 → 默认起始扇区 → +2G(指定大小)→ t(修改类型)→ 82(Linux swap类型)→ w(写入)
4、同步分区表并格式化新分区(假设新建为/dev/sda5):
sudo partprobe /dev/sda
sudo mkswap /dev/sda5
5、启用该分区:
sudo swapon /dev/sda5
6、添加至fstab(使用UUID增强可靠性):
sudo blkid /dev/sda5
复制输出中的UUID字段,写入:
echo 'UUID=xxx none swap sw 0 0' | sudo tee -a /etc/fstab
四、调整现有swap大小(扩容或缩容swap文件)
若已存在swap文件但容量不足,可安全扩容;若需缩容,须先停用再重建。注意:ext4/xfs等文件系统对swap文件所在分区需保留足够连续空间。
1、停用当前swap文件:
sudo swapoff /swapfile
2、释放原文件占用空间:
sudo rm /swapfile
3、重新创建更大容量的swap文件(如4GB):
sudo fallocate -l 4G /swapfile
sudo chmod 600 /swapfile
sudo mkswap /swapfile
4、重新启用:
sudo swapon /swapfile
5、更新fstab中对应行(若路径未变则无需修改)
五、禁用并删除swap(仅限调试或确认内存充足时)
禁用swap可能引发OOM Killer激活,除非已确认物理内存长期占用率低于50%且无突发负载,否则不建议完全禁用。
1、关闭所有swap设备与文件:
sudo swapoff -a
2、从fstab中移除对应行:
sudo sed -i '/swap/d' /etc/fstab
3、删除swap文件(如存在):
sudo rm /swapfile
4、验证是否清空:
cat /proc/swaps










