Linux 磁盘挂载和swap空间管理
2022/7/3 5:19:58
本文主要是介绍Linux 磁盘挂载和swap空间管理,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
挂载:把指定的设备和根下面的某个文件夹建立关联
卸载:解除两者关系的过程
挂载文件系统:mount
格式:mount device mountpoint --- mount 设备名 挂载点
mountpoint:挂载点目录必须事先存在,建议使用空目录
选项:
-
-t fstype:指定文件系统类型,比如ext4
-
-r readonly,只读挂载
-
-w read and write, 读写挂载,此为默认设置,可省略
-
-n 不更新/etc/mtab,mount不可见
-
-a 自动挂载所有支持自动挂载的设备(定义在了/etc/fstab文件中,且挂载选项中有auto功能)
-
-o options:(挂载文件系统的选项),多个选项使用逗号分隔
# async 异步模式,内存更改时,写入缓存区buffer,过一段时间再写到磁盘中,效率高,但不安全 # sync 同步模式,内存更改时,同时写磁盘,安全,但效率低下 # remount 重新挂载(相当于umount后再mount) # ro/rw 只读、读写 # defaults(默认挂载) 相当于rw, suid, dev, exec, auto, nouser, async
挂载规则:
-
一个挂载点同一时间只能挂载一个设备,如果挂载了多个设备就只显示最后一个设备
-
一个设备可以挂载到多个挂载点
-
挂载点通常是空的目录文件
查看挂载的设备:
#通过查看/etc/mtab文件显示当前已挂载的所有设备 mount #查看内核追踪到的已挂载的所有设备 cat /proc/mounts
查看挂载点情况
findmnt MOUNT_POINT|device #可以用来判断某个文件夹是不是挂载点,如果是会显示对应的数据信息
查看正在访问指定文件系统的进程
lsof MOUNT_POINT ---也可以用来查看某个挂载点是否被别人使用 fuser -v MOUNT_POINT -- 查看是谁在使用
终止所有在正访问指定的文件系统的进程
fuser -km MOUNT_POINT
持久挂载(重启电脑还存在)
将挂载保存到 /etc/fstab 中可以下次开机时,自动启用挂载
使用man 5 fstab
查看/etc/fstab配置文件格式
配置文件格式:
要挂载的文件系统 挂载点 文件系统类型 挂载属性 备份频率 sck检查的文件系统的顺序
-
要挂载的文件系统:可以用设备名、uuid、卷标
查看uuid: blkid
-
挂载点:必须是事先存在的目录
-
挂载属性:defaults ,acl,bind
-
备份频率(一般用不上):0:不做备份 1:每天转储 2:每隔一天转储
-
文件系统检查的次序:开机检测文件系统的过程。其中允许的数字是0 1 2
0:不自检 ,1:首先自检;一般只有rootfs才用 2:非rootfs使用
卸载文件系统:umount
umount 设备名或挂载点
处理交换文件和分区
swap:是一种特殊的文件系统,叫交换文件系统。作用是缓解内存不足的情况。拿硬盘的分区来模拟内存,把内存中暂时不用的数据导入swap硬盘分区中,给内存腾出空间。利用硬盘来模拟内存.
副作用:硬盘速度没有内存的速度快,所以会降低速度。
swap空间分配原则:
内存 | swap |
---|---|
<=2G | swap就是内存的两倍(4G) |
2-8G | swap等于内存大小(2-8G) |
8-64G | swap是内存的0.5倍(4-32G) |
>64G | swap选择4G左右 |
交换空间swap实现过程:
1. 创建交换分区或者文件 -- fdisk 2. 使用mkswap写入特殊签名 -- maswap 分区 3. 在/etc/fstab文件中添加适当的条目 --- xxx # 文件系统没有挂挂载点就写none 因为swap是用来模拟内存的 4. 使用swapon -a 激活交换空间
启用swap分区:
swapon [OPTION]... [DEVICE]
选项:
-a: 启用所有的交换分区
-s: 显示交换区的使用状况
禁用swap分区:
swapoff [OPTION]... [DEVICE]
SWAP的优先级
有多个二swap分区的时候,指定优先使用谁。
swapon -s 可以查看swap的优先级
可以指定swap分区0到32767的优先级,值越大优先级越高
#修改swap的优先级: 例如:UUID=xxxxswap swap pri=100 0 0 #更改完成以后禁用再重新启用就生效了
用一个文件来作为swap
#创建一个指定大小的文件 dd if=/dev/null of=filename bs=大小 count=1 #因为这个文件后面要用来放内存中的信息,所以为了安全要更改权限 chmod a= filename #除了root谁也看不到 #创建文件系统 mkswap filename #挂载 /etc/fstab file_name(不能写uuid,uuid是针对设备来说的) none swap defaults 0 0 #启用swap swapon file_name
swap的使用策略
/proc/sys/vm/swappiness
的值决定了当内存占用达到一定的百分比时,会启用swap分区的空间
例如/proc/sys/vm/swappiness这个值是30,则内存在使用到100-30=70%的时候,就开始出现有交换分区的使用
/proc/sys/vm/swappiness值为0不会禁止交换分区的使用,是最大限度地降低了使用swap的可能性
这篇关于Linux 磁盘挂载和swap空间管理的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-12-18git仓库有更新,jenkins 自动触发拉代码怎么配置的?-icode9专业技术文章分享
- 2024-12-18Jenkins webhook 方式怎么配置指定的分支?-icode9专业技术文章分享
- 2024-12-13Linux C++项目实战入门教程
- 2024-12-13Linux C++编程项目实战入门教程
- 2024-12-11Linux部署Scrapy教程:新手入门指南
- 2024-12-11怎么将在本地创建的 Maven 仓库迁移到 Linux 服务器上?-icode9专业技术文章分享
- 2024-12-10Linux常用命令
- 2024-12-06谁看谁服! Linux 创始人对于进程和线程的理解是…
- 2024-12-04操作系统教程:新手入门及初级技巧详解
- 2024-12-04操作系统入门:新手必学指南