标题:swapon命令-激活Linux系统中的交换空间
介绍
swapon命令用于激活Linux系统中的交换空间,交换空间在Linux系统的内存管理中起到建立虚拟内存的作用。
语法
代码语言:javascript复制swapon [选项] [参数]
选项
-a
:将/etc/fstab文件中所有设置为swap的设备启动为交换区。-h
:显示帮助信息。-p <优先级>
:指定交换区的优先级。-s
:显示交换区的使用情况。-V
:显示版本信息。
参数
交换空间
:指定需要激活的交换空间,可以是交换文件或交换分区。如果是交换分区,则需指定对应的设备文件。
示例
代码语言:javascript复制mkswap -c /dev/hdb4 # 创建交换分区(-c用于检查坏块)
swapon -v /dev/hdb4 # 激活交换分区
swapon -s # 显示交换区使用情况
输出示例:
代码语言:javascript复制Filename type Size Used Priority
/dev/hda5 partition 506008 96 -1
/dev/hdb4 partition 489972 0 -2
标题:sync命令-强制写入磁盘
介绍
sync命令用于强制将被改变的内容立即写入磁盘,并更新超块信息。
语法
代码语言:javascript复制sync [选项]
选项
-d
,--data
:只同步文件数据,不同步不必要的元数据。-f
,--file-system
:同步包含这些文件的文件系统。--help
:显示帮助信息。--version
:显示版本信息。
buffer与cache
- buffer:为了解决写磁盘的效率。
- cache:为了解决读磁盘的效率。
Linux系统为了提高读写磁盘的效率,会先将数据放在一个buffer中。在写磁盘时,并不会立即将数据写入磁盘,而是先写入buffer中。如果系统重启,可能导致数据丢失。
sync命令用于flush文件系统的buffer,这样数据才会真正写入磁盘,并释放对应的buffer。flush操作清空buffer。使用sync命令会强制将数据写入磁盘,并释放该数据所对应的buffer。因此,在写磁盘后通常会执行sync命令,以确保数据真正写入磁盘。
如果不手动执行sync命令进行磁盘写入,Linux系统也会周期性地自动进行sync数据。