📜  使用交换后端 VM_PAGER_COMPRESSOR_WITH_SWAP 在核心压缩器中验证 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 14:49:52.592000             🧑  作者: Mango

使用交换后端 VM_PAGER_COMPRESSOR_WITH_SWAP 在核心压缩器中验证 - Shell-Bash

简介

本文将介绍如何在Shell-Bash中使用交换后端VM_PAGER_COMPRESSOR_WITH_SWAP,以验证核心压缩器是否正常工作。

环境
  • 操作系统:任何支持VM_PAGER_COMPRESSOR_WITH_SWAP的系统
  • 软件包:sysutils/coreutils
步骤
  1. 打开Shell-Bash界面。

  2. 进入/sys/conf/目录。

cd /sys/conf
  1. 打开config文件。
vi config
  1. 在其中添加以下行:
option VM_PAGER_COMPRESSOR_WITH_SWAP
  1. 保存并退出文件。

  2. 重新编译内核。

cd ../compile/YOUR_KERNEL_NAME
make clean && make depend && make
  1. 完成编译后,重新启动系统。
reboot
  1. 用top命令观察系统内存使用情况。
top
  1. 在top命令输出的情况下连按 Ctrl-O 观察页面:
  • 查看“Compressed”列中的数字,该数字指出已压缩的内存页数。
  • 查看“Swap”列中的数字,该数字指出已使用的交换空间页数。
  • “Virt”(虚拟)和“Res”(驻留)列应该达到您预期的大小。
# top输出
last pid: 1234;  load avg: 0.01, 0.02, 0.03;   up 0+00:02:30                                                                                                  10:46:59
199 processes: 2 running, 196 sleeping, 1 on CPU
CPU states:  0.0% idle, 98.9% user,  1.2% kernel,  0.0% interrupt,  0.0% idle w
Mem: 120M Active, 140M Inact, 102M Wired, 1002M Free
ARC: 48M Total, 38M MRU, 9.29M MFU, 2911K Anon, 4603K Header, 36K Other
     <more lines>
Mem: 120M Active, 140M Inact, 102M Wired, 1002M Free, 405M Compressed, 768M Swapped
ARC: 48M Total, 38M MRU, 9.29M MFU, 2911K Anon, 4603K Header, 36K Other
     <more lines>
结论

如果“Compressed”和“Swap”列中的数字都增加,即表示核心压缩器运作正常。如果只增加了“Compressed”一列中的数字,而“Swap”列中的数字保持不变,则需要重新检查VM_PAGER_COMPRESSOR_WITH_SWAP的设置。

参考
  • FreeBSD手册:https://www.freebsd.org/doc/zh_CN/books/handbook/vm-switching.html