AIX 动态更改swap空间

增加SWAP交换页空间

查看SWAP,使用lsps –a命令查看,默认安装SWAP是512M,例如:

# lsps -a              
Page Space      Physical Volume   Volume Group    Size   %Used     Active  Auto  Type
hd6          hdisk0        rootvg       512MB  1     yes       yes    lv

增加SWAP,chps -s number hd6 ,例如:

# chps -s 28 hd6                      ----20表示以上面pp*28,计算如下:pp=128M  PP*28=3584M
#

# lsps -a              
Page Space      Physical Volume   Volume Group    Size         %Used      Active  Auto  Type
hd6          hdisk0        rootvg       4096MB     1      yes        yes    lv

   

减少SWAP 交换页空间 

首先需要运行 

# lsps -a 查看相关信息

例如,若缩小 hd6  1 LP,运行命令:
# chps -d 1 hd6(注:这个命令需要执行一段时间,大约为半分钟)
shrinkps: Temporary paging space paging00 created.
shrinkps: Dump device moved to temporary paging space.
shrinkps: Paging space hd6 removed.
shrinkps: Paging space hd6 recreated with new size.
#


转载地址:http://libingk9999.blog.163.com/blog/static/3811485720138309171428/

### 容器中 Swap 空间的概念及用途 #### ### 1. 容器中 Swap 空间的作用 在容器环境中,Swap 空间可以作为物理内存的扩展部分。当容器内的应用程序需要的内存超过了分配给它的物理内存时,操作系统会将部分数据从内存交换到硬盘上的 Swap 空间中,从而释放内存供其他进程使用[^3]。这种机制对于处理突发性内存需求的应用程序尤为重要。 然而,在多容器共享同一宿主机的情况下,如果某些容器不需要使用 Swap 空间,而其他容器需要,则可能会导致问题。例如,一个容器可能因为开启 Swap 而绕过 Memory Cgroups 的限制,影响其他容器的性能和稳定性[^1]。 #### ### 2. 配置容器中的 Swap 空间 配置容器中的 Swap 空间可以通过 cgroup(Control Groups)实现,具体方法如下: ##### (1)通过 LXC 配置文件设置 在 LXC 容器中,可以通过修改容器的配置文件来设置 Swap 空间的限制。编辑 `/var/lib/lxc/<container_name>/config` 文件,添加以下内容: ```bash lxc.cgroup.memory.limit_in_bytes = 400M lxc.cgroup.memory.memsw.limit_in_bytes = 800M ``` 解释: - `lxc.cgroup.memory.limit_in_bytes` 设置了容器的物理内存限制为 400MB。 - `lxc.cgroup.memory.memsw.limit_in_bytes` 设置了容器的物理内存和 Swap 空间的总和限制为 800MB[^5]。 ##### (2)动态调整运行中的容器 对于已经启动的容器,可以通过直接写入 cgroup 文件来动态调整 Swap 空间的限制: ```bash echo 419430400 > /sys/fs/cgroup/memory/lxc/<container_name>/memory.limit_in_bytes echo 838860800 > /sys/fs/cgroup/memory/lxc/<container_name>/memory.memsw.limit_in_bytes ``` ##### (3)使用 `lxc-cgroup` 命令 LXC 提供了 `lxc-cgroup` 命令,可以直接设置 cgroup 参数: ```bash lxc-cgroup -n <container_name> memory.limit_in_bytes 419430400 lxc-cgroup -n <container_name> memory.memsw.limit_in_bytes 838860800 ``` #### ### 3. 控制容器是否使用 Swap 空间 为了防止某些容器使用 Swap 空间,可以通过设置 `memory.swappiness` 参数来控制。将该参数设置为 0 可以禁用 Swap 的使用: ```bash lxc-cgroup -n <container_name> memory.swappiness 0 ``` 这样可以确保容器严格按照 `memory.limit_in_bytes` 的限制使用内存,而不依赖 Swap 空间[^4]。 #### ### 4. Swap 分区的划分规则 在 Linux 系统中,Swap 分区的大小通常根据物理内存的大小进行划分。一般规则如下: - 当物理内存小于 2GB 时,Swap 分区大小为物理内存的 2 倍。 - 当物理内存超过 2GB 时,Swap 分区大小与物理内存相等[^3]。 #### ### 5. Swap 空间对性能的影响 Swap 空间的合理配置对系统性能至关重要。过多的 Swap 空间会浪费磁盘空间,而过少的 Swap 空间可能导致系统发生错误。如果系统的物理内存耗尽,系统会变慢但仍然可以运行;但如果 Swap 空间耗尽,则可能导致服务进程无法启动或出现死锁等问题[^3]。 --- ### 示例 Python 脚本:计算内存限制值(单位转换) 以下是一个简单的 Python 脚本,用于计算内存限制值(以字节为单位): ```python def calculate_memory_limit(megabytes): return megabytes * 1024 * 1024 memory_limit = calculate_memory_limit(400) memsw_limit = calculate_memory_limit(800) print(f"Memory limit in bytes: {memory_limit}") print(f"Memsw limit in bytes: {memsw_limit}") ``` ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值