链接:https://www.cnblogs.com/heyongshen/p/16438520.html
移动设备管理
移动设备就是我们所说的U盘、移动硬盘等。在Linux系统中使用移动设备时,也需要进行挂载和卸载操作。一般是在访问这个移动设备前需要先进行挂载,这样系统才能知道该如何与该设备通信以及在哪里可以找到它。在移除这个设备时需要被卸载,这样是为了保证数据的安全性。
因为移动设备本来就格式化了文件系统的,所以Linux主机接入移动设备后,只需要进行挂载就可以正常使用了。
例如: 将移动硬盘插入Linux主机后,会被内核探测为SCSI设备,会被映射到/dev下作为一个设备文件,命名方式是/dev/sdX
例如: 将一个USB设备插入Linux主机后,可以通过lsusb命令来查看是否正常插入,也可以通过系统日志看到相关信息
lsusb
通过查看系统日志的方法:
# ubuntu
tail -f /var/log/syslog
# centos
tail -f /var/log/messages
说明: 如果U盘的文件系统是NTFS,因为NTFS是windows特有的文件系统,所以Linux主机需要安装ntfs-3g 软件包才能支持识别这种格式的u盘
# ubuntu
apt install ntfs-3g
# centos
yum install ntfs-3g
swap空间管理
swap是一种特殊的文件系统,叫交换文件系统。作用就是把内存中暂时不用的数据导入swap硬盘分区中,给内存腾出空间。
swap空间的速度特别慢,很多时候内存充足的情况下不用设置swap,具体内存使用到多少需要开始使用swap空间,这个是根据内核的一个参数(/proc/sys/vm/swappiness)来决定的。
swappiness的默认值是60,意思就是当系统内存使用达到40%时,内核将开始考虑将一些内存页面放入交换空间中。
swappiness = 0:表示除非内存几乎完全被使用时,采用swap空间
swappiness = 100:积极使用交换空间,能用就尽量用
一般内存充足的情况下,不设置swap空间或者把swappiness设置为0就行了。但是在一些特殊的情况下,例如内存实在不够,这个时候就需要创建swap空间了。
创建swap空间的两种方法
第一种是硬盘上还有没有分配的空间,将这些空间格式化为一个swap分区。格式化swap分区使用的是mkswap工具来格式化的。
1、创建分区,使用fdisk、gdisk都可以
2、将分区格式化为swap这种文件系统
sudo mount /dev/sdb1 /mnt/swap/
3、启动交换空间
交换分区不是用于存储常规文件的,因此不能像其他文件系统(如ext4、NTFS等)那样被挂载
sudo swapon /dev/sdb1
4、验证
swapon -s
5、写入/etc/fstb文件
/dev/sdb1 none swap sw 0 0
# 文件系统没有挂挂载点就写none
# sw:指定该设备应被视为交换空间
还有一种情况是硬盘没有未分配的空间了,不能通过再创建一个分区的方法来创建swap分区。这个时候我们可以通过dd命令来创建一个文件作为交换空间使用。
1、指定文件大小
dd if=/dev/zero of=swapfile bs=1G count=1
# 从 /dev/zero 读取数据,这会为你提供连续的零字节
2、设置权限
sudo chmod 600 swapfile
3、格式化文件为交换空间
sudo mkswap swap
4、启用并检查
sudo swapon swapfile
# 显示交换区的使用状况
swapon -s
5、写入配置文件
sudo vim /etc/fstab
/home/ehigh/swapfile none swap sw 0 0
文件能作为交换空间的原因:
从操作系统的角度来看,交换空间只是磁盘上的一块区域,可以是一个分区,也可以是一个文件,把这块区域标记为swap格式的文件系统后,就具有了特定的结构。所以操作系统可以再这块区域里面存储和读取数
文件作为交换空间的要求:
理论上,可以使用任何大小合适的文件作为交换空间。
使用mkswap初始化文件作为交换空间时,它会在文件的开头写入特定的交换空间头部信息,这会破坏文件的原始内容。为了避免破坏重要数据并确保交换文件的内容是一致的,通常使用dd if=/dev/zero来创建一个大小固定、内容全为零的文件。
使用/dev/zero作为输入的另一个原因是为了确保文件在物理存储上是连续的,这可以提高交换操作的性能。
使用文件作为交换空间时,该交换空间的大小等于该文件的大小
关闭swap空间:
如果不想使用swap空间了。可以使用swapoff -a 来禁用所有的swap分区