挂载:把指定的设备和根下面的某个文件夹建立关联

卸载:解除两者关系的过程

挂载文件系统: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空间管理的更多相关文章

  1. Linux磁盘挂载

            mount命令 用于加载文件系统到指定的加载点.此命令的最常用于挂载cdrom,使我们可以访问cdrom中的数据,因为你将光盘插入cdrom中,Linux并不会自动挂载,必须使用Lin ...

  2. Linux磁盘挂载详述

    1.查看硬盘信息及分区 一般使用”fdisk -l”命令可以列出系统中当前连接的硬盘,设备和分区信息.新硬盘没有分区信息,则只显示硬盘大小信息. [root@localhost home]# fdis ...

  3. 攻城狮在路上(叁)Linux(二十二)--- linux磁盘挂载与卸载 mount umount

    挂载就是将文件系统与目录结合的操作.挂载点就是目录,该目录就是进入分区或文件系统的入口. 一.挂载前的注意事项: 1.单一文件系统不应该被重复挂载在不同的挂载点中. 2.单一目录不应该重复挂载多个文件 ...

  4. Linux 磁盘挂载和mount共享

      针对Linux服务器的磁盘挂载mount和共享做简单操作说明: 1.  查看已使用的磁盘情况 df –h 2.  查看所有磁盘 fdisk –l 3.  查看指定磁盘“/dev/xvde”的分区情 ...

  5. linux 磁盘挂载及查看磁盘

    blkid命令实例 .列出当前系统中所有已挂载文件系统的类型: sudo blkid .显示指定设备 UUID: sudo blkid -s UUID /dev/sda5 .显示所有设备 UUID: ...

  6. Linux磁盘挂载、分区、扩容操作

    本文最早发布于 Rootrl's blog 注:以下操作系统环境为CentOS7 基本概念 在操作前,首先要了解一些基本概念 磁盘 在Linux系统中所有的设备都会以文件的形式存储.设备一般保存在/d ...

  7. [linux]磁盘挂载

    最近磁盘空间不足了, 所以需要将更多的磁盘空间加进来. 因为目前占空间最多的就是home, 无论是下载还是本地用户的东西都是放在这里的. 将分区格式化为ext4, 然后使用blkid /dev/sda ...

  8. 【转】linux 磁盘挂载

    挂载好新硬盘后输入fdisk -l命令看当前磁盘信息 可以看到除了当前的第一块硬盘外还有一块sdb的第二块硬盘,然后用fdisk /dev/sdb 进行分区 进入fdisk命令,输入h可以看到该命令的 ...

  9. Linux 磁盘挂载分区

    举例说明: 新增磁盘的设备文件名为 /dev/vdb 大小为100GB. #fdisk -l 查看新增的的磁盘 1.对新增磁盘进行分区 #fdisk /dev/vdb 按提示操作 p打印 n新增 d ...

随机推荐

  1. 关于IDEA中添加静态资源(html,jpg等)后找不到资源(404 not found),以及WEB-INF目录介绍

    关于静态资源的加载 在IDEA中的java web application(或者maven项目)添加新的静态资源时(如html,jpg,gif等),常常会遇到静态资源无法加载的情况.这样的情况我们一般 ...

  2. MySQL left join 引发的惨案

    当我用这个进行更改值时,type未控制order表 其他数据被更改 还好备份数据表了(这里就体现了备份的重要性) UPDATE expense_order as a left join ( SELEC ...

  3. Oauth的学习以及开发自助上课签到脚本

    附上源码:                                 https://github.com/taka250/auto_checkin_skl_hdu 首先了解学习oauth的知识 ...

  4. 浅尝Spring注解开发_自定义注册组件、属性赋值、自动装配

    Spring注解开发 浅尝Spring注解开发,基于Spring 4.3.12 包含自定义扫描组件.自定义导入组件.手动注册组件.自动注入方法和参数.使用Spring容器底层组件等 配置 @Confi ...

  5. 使用fastai训练的一个性别识别模型

    在学习了python中的一些机器学习的相关模块后,再一次开始了深度学习之旅.不过与上次的TensorFlow框架不同,这一次接触的是fast.ai这样一个东西.这个框架还不稳定,网上也没有相关的中文文 ...

  6. vue - vue基础/vue核心内容(终结篇)

    今天是vue基础.vue核心内容第三天,也是最后一天,后面开始进入组件化学习,整个基础内容以生命周期的结束而结束,不得不说,张天禹把这节课讲活了,开始觉得vue是一个有生命的东西,包括前面所说的很多脏 ...

  7. Java — 面向对象

    目录 一.类和对象 二.方法 三.封装 四.继承 五.多态 六.final 七.static 八.抽象类 九.接口 十.内部类 一.类和对象 简介:类是对事物的一种描述,对象则为具体存在的事物. 类的 ...

  8. redo log 和 binlog 的一些总结

    1 redo log 和 binlog 的区别 redo log 是 InnoDB 引擎特有的:binlog 是 MySQL 的 Server 层实现的,所有引擎都可以使用. redo log 是物理 ...

  9. while..else ;for;range; 基本数据类型的内置函数

    while + esle #当while循环正常循环结束后,会执行else中的代码块.如果遇到break结束循环,else中的代码将不会运行. ``` 结构: while 条件: 循环代码 else: ...

  10. NLP教程(7) - 问答系统

    作者:韩信子@ShowMeAI 教程地址:http://www.showmeai.tech/tutorials/36 本文地址:http://www.showmeai.tech/article-det ...