这三个都是文件系统格式NTFS和FAT32。node
Linux kernel自2.6.28开始正式支持新的文件系统Ext4,Ext4是Ext3的改进版,修改了Ext3中部分重要的数据结构。Ext3对Ext2,只是增长了一个日志功能而已。Ext4能够提供更佳的性能和可靠性,还有更为丰富的功能,更大的文件系统和更大的文件。较之Ext3所支持的最大16TB文件系统和最大2TB文件,Ext4分别支持1EB(1,048,576TB,1EB=1024PB,1PB=1024TB)的文件系统,以及16TB的文件。linux
Ext3只支持32,000个子目录,而Ext4支持无限数量的子目录。vim
Ext3采用间接块映射,当操做大文件时,效率极其低下。好比一 个100MB大小的文件,在Ext3中要创建25,600个数据块(每一个数据块大小为4KB)的映射表。在Ext3中,每一个物理块都须要一个逻辑块结构与之相对应。bash
Ext4引入了extents概念,提升效率,每一个extent为一组连续的数据块,理想状况下,上述文件则表示为只须要一个extent来记录映射关系。网络
当写入数据到Ext3文件系统中时,Ext3的数据块分配器每次只能分配一个4KB的块,写一个100MB文件就要调用25600次数据块分配器,而Ext4的多块分配器“multiblockallocator”(mballoc)支持一次调用分配多个数据块。数据结构
Ext3的数据块分配策略是尽快分配,而Ext4是尽量地延迟分配,直到文件在cache中写完才开始分配数据块并写入磁盘。如此能优化整个文件的数据块分配,显著提高性能。app
老的fsck会很慢,由于它要检查全部的inode,Ext4给每一个组的inode表中都过它们而只去检查那些在用的inode添加了一份未使用inode的列表,执行 fsck就能够跳过它们而只去检查那些在用的inode。工具
日志是最经常使用的部分,也极易致使磁盘硬件故障,而从损坏的日志中恢复数据会致使更多的数据损坏。性能
Ext4的日志校验功能能够很方便地判断日志数据是否损坏,将过去两阶段日志机制合并成一个阶段,提升性能。优化
补充,两阶段提交:
(1)文件系统将准备执行的事务的具体内容写入日志。
(2)文件系统进行文件操做。
(3)操做成功后,将事务具体的内容从日志中删除。
Ext4容许关闭日志,以便某些有特殊需求的用户能够借此进一步提高性能。
Ext4支持在线碎片整理,并提供e4defrag工具进行个别文件或整个文件系统的碎片整理。
Ext4支持更大的inode,较之Ext3默认的inode大小128字节,Ext4为了在inode中容纳更多的扩展属性(如纳秒时间戳或inode版本),默认inode大小为256字节。
P2P软件为了保证下载文件有足够的空间存放,经常会预先建立 一个与所下载文件大小相同的空文件,以避免将来的数小时或数天以内磁盘空间不足致使下载失败。Ext4在文件系统层面实现了持久预分配并提供相应的API,比应用软件本身实现更有效率。
使用磁盘存储内存不够而“溢出来”的内容。 当系统的物理内存不够用的时候,就须要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。
最容易成为被释放的对象:一些很长时间没有什么操做的程序。被保存到Swap空间中。等到那些被换出的程序要继续运行时,再从Swap中恢复保存的数据到内存中。
通常来讲能够按照以下规则设置swap大小:
8G之内的物理内存,SWAP设置为内存的2倍。
8G-16G之内的的物理内存,SWAP等于内存大小或者设置为8G。
16G-256G的物理内存,SWAP设置为实际内存的1/2便可。
实际上,并非等全部的物理内存都消耗完毕以后,才去使用swap的空间,何时使用是由swappiness参数值控制。
[root@localhost ~]# cat /proc/sys/vm/swappiness 60 [root@localhost ~]#
默认值是60。swappiness=0的时候表示最大限度使用物理内存,而后才是swap空间,swappiness=100的时候表示积极的使用swap分区,而且把内存上的数据及时的搬运到swap空间里面。
使用命令:sysctl,能够进行临时修改swap的使用比例。
命令格式:sysctl vm.swappiness=0-100的数字
示例:
[root@localhost ~]# sysctl vm.swappiness=10 vm.swappiness = 10 [root@localhost ~]# cat /proc/sys/vm/swappiness 10
这里咱们的修改已经生效,可是若是咱们重启了系统,又会变成60。
在/etc/sysctl.conf 文件里添加以下参数:vm.swappiness=10。
vim /etc/sysctl.conf ->i->修改 esc->wq。
swapon -a #开启 swapoff -a #关闭
每一个文件系统都有独立的inode/block/superblock等信息,这个文件系统要可以连接到目录树才能被咱们使用。将文件系统和目录树结合的动做咱们称为挂载。
挂载点:必定是目录,此目录为文件系统的入口。
mount命令:将设备挂载到某个目录。
命令格式:mount [-fnrsvw] [-o option[,option]...] 设备文件 挂载点
-t:指定设备的文件系统类型。
ext4 linux目前经常使用的文件系统。
nfs网络文件系统。
iso9660 CD-ROM光盘标准文件系统。
auto自动检测文件系统
-o:指定挂载文件系统时的选项。
ro以只读方式挂载。
rw以读写方式。
将ISO镜像文件挂载到Linux虚拟机中,准备工做:
挂载到某个目录。
[root@localhost ~]# mount /dev/cdrom /media [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sr0 4.2G 4.2G 0 100% /media/CentOS_6.5_Final [root@localhost ~]# ll /dev/cdrom1 lrwxrwxrwx. 1 root root 3 Feb 9 14:53 /dev/cdrom1 -> sr0 [root@localhost ~]# ls /media
CentOS_6.5_Final 挂载到某个目录
[root@localhost ~]# mkdir /mnt/cdrom [root@localhost ~]# mount -t iso9660 /dev/cdrom1 /mnt/cdrom mount: block device /dev/sr0 is write-protected, mounting read-only [root@localhost ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sr0 4.2G 4.2G 0 100% /mnt/cdrom [root@localhost ~]# lsblk #查看块设备 NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom
[root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 29G 2.3G 27G 8% /media/7E4E-815B [root@localhost /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sr0 11:0 1 4.2G 0 rom sdb 8:16 1 28.9G 0 disk └─sdb1 8:17 1 28.9G 0 part /media/7E4E-815B [root@localhost /]# mkdir /mnt/udisk [root@localhost /]# mount /dev/sdb1 /mnt/udisk/ [root@localhost /]# lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT sdb 8:16 1 28.9G 0 disk └─sdb1 8:17 1 28.9G 0 part /media/7E4E-815B [root@localhost /]# df -h Filesystem Size Used Avail Use% Mounted on /dev/sdb1 29G 2.3G 27G 8% /media/7E4E-815B /dev/sdb1 29G 2.3G 27G 8% /mnt/udisk
若是挂载后查看U盘内容出现乱码?
[root@localhost ~]# locale LANG=en_US.UTF-8 LC_CTYPE="en_US.UTF-8" LC_NUMERIC="en_US.UTF-8" LC_TIME="en_US.UTF-8“ [root@localhost ~]#man mount
使用”/iocharset”查找
[root@localhost ~]# mount -o iocharset=utf8 /dev/sdb1 /mnt/udisk
Ntfs须要下载ntfs-3g驱动
yum install ntfs-3g
用完要记得使用umount“弹出”,并断开链接。
umount:取消挂载。
命令格式:umount 设备或是挂载点
示例:
umount /mnt/cdrom #或 umount /dev/cdrom1 #或 umount /dev/sr0
/etc/fstab文件:开机引导的时候自动挂载到linux的文件系统。
df:列出文件系统总体磁盘使用状况。即整个硬盘的分区状况。至关于Windows中查看磁盘分区状况。
命令格式:df 选项参数
选项参数
-a:列出全部文件系统。
-k:以KBytes的容量显示文件系统。
-m:以MBytes的容量显示文件系统。
-h:GBytes、MBytes、KBytes等格式自行显示。
-i:以inode数量显示。
du:文件系统的磁盘使用量或是目录使用量。即具体的目录或者文件的大小详情。至关与Windows中打开个人电脑进行文件查看。
命令格式:du 选项参数 目录名称
选项参数
-a:列出全部的文件与目录容量。
-h:以人们较易读的容量格式(G/M)显示。
-s:列出总量而已,而不列出每一个各别的目录占用容量。
-k:以KBytes列出容量显示。
-m:以MBytes列出容量显示。
dumpe2fs:观察文件系统。
命令格式:dumpe2fs [options] < device>
参数选项:
-h :仅列出superblock的数据,不会列出其余的区段内容。
#dumpe2fs -h /dev/sda1
上一篇:Linux基础之权限
下一篇:Linux基础之网络