8.12-14 df 、mkswap、swapon、swapoff、sync

8.12 df:报告文件系统磁盘空间的使用状况

 
-a    显示全部文件系统
-h    以容易理解的格式显示磁盘的使用状况端
-i    显示文件系统的inode信息迷
-t    显示指定类型的磁盘
-T    列出文件系统的类型
 
 
Filesystem    第1列是文件系统对应的设备文件的路径名(通常是硬盘上的分区)
1K-blocks     第2列是分区的总大小(单位为block)
Used          第3列是分区的使用大小
Available     第4列是分区的可用大小
Use%          第5列是使用百分比
Mounted on    第6列是文件系统的挂载点
 
    第3列和第4列之和不等于第2列。这是由于默认的每一个分区都预留了少许空间供root使用。即便遇到空间已满的状况,root仍能登陆和拥有解决问题所需的工做空间。清单中的Use%列表示普通用户空间使用的百分比,即便这一数字达到了100%,分区仍然留有root使用的空间。
 
参数-i 显示inode的使用状况
[root@cs6 data1]# df -i
Filesystem            Inodes IUsed   IFree IUse% Mounted on
/dev/mapper/vg_cs6-lv_root
                     1738080 23547 1714533    2% /
tmpfs                 238145     1  238144    1% /dev/shm
/dev/sda1             128016    38  127978    1% /boot

 参数-t显示指定类型的磁盘。node

[root@cs6 data1]# df -t ext4    #<== -t 后面接文件系统类型,如ext2/ext3/ext4。
Filesystem           1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                      27228028 1689448  24148808   7% /
/dev/sda1               487652   28020    434032   7% /boot

 参数-T列出了文件系统的类型。缓存

[root@cs6 data1]# df -T
Filesystem           Type  1K-blocks    Used Available Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                     ext4   27228028 1689448  24148808   7% /
tmpfs                tmpfs    952580       0    952580   0% /dev/shm
/dev/sda1            ext4     487652   28020    434032   7% /boot

 向磁盘写入数据提示以下错误:No space left on device,而后经过df-h查看磁盘空间,结果发现磁盘没满,那么请问这多是什么缘由?app

 
多是inode数量被耗尽了。用df-i可查看inode的使用状况。
致使上述inode满的缘由之一有以下几种状况:
Linux 系统目录/var/spool/clientmquene(CentOS5.8默认安装sendmail软件的邮件的临时队列目录)或/var/spool/postfix/maildrop/(CentOS6.6默认安装postfix软件的邮件的临时队列目录)很容易被大量小文件占满,致使出现“No space left on device”的错误。
缘由分析:
    系统中crond定时任务执行的程序有输出内容,输出内容会以邮件形式发给设置定时任务的用户,而若Sendmail/Postfix服务没有启动,则会产生相似下面代码所示的这些文件,时间长了就会把系统的inode数量耗尽,可是block的数量仍有剩余,因此使用df -h 查看空间还有剩余。
 
解决方法:
    小文件太多,直接用rm -f删除会失败,显示参数过长的错误信息,这时须要用到
    ls|xargs rm -f命令进行删除。若想要根治,可采用以下方法。
 由于主要是由定时任务引发的,因此可在定时任务后加上>/dev/null 2>&1来解决 

8.13 mkswap:建立交换分区

    mkswap命令是在Linux系统里建立交换分区的工具,当系统没有交换分区或交换分区不够用时,能够新建一个交换分区。
-c    创建交换分区以前,首先检查磁盘是否有损坏的区块
-f    强制执行操做
 
 
建立交换分区。
    能够将一块磁盘分区后再针对某一个分区建立交换分区,也能够将整块磁盘建立为交换分区,但须要-f参数。
 
[root@cs6 data1]# mkswap /dev/sdb    #<==默认是不能用整块磁盘传交换分区的。
/dev/sdb: 设备或资源忙
 
mkswap -f /dev/sdb1    #<==使用-f参数强制使用整块磁盘作交换分区

8.14 swapon:激活交换分区

    使用mkswap命令建立交换分区后,分区并无生效,还须要使用swapon命令使之生效。
 
    -s    显示全部交换分区的信息
 
[root@cs6 ~]# mkswap -f /dev/sdb1
Setting up swapspace version 1, size = 417652 KiB
no label, UUID=5ce3d626-5794-4990-9980-489d49e4d930
 
[root@cs6 ~]# swapon /dev/sdb1
[root@cs6 ~]# df -h
Filesystem            Size  Used Avail Use% Mounted on
/dev/mapper/vg_cs6-lv_root
                       26G  1.7G   24G   7% /
tmpfs                 931M     0  931M   0% /dev/shm
/dev/sda1             477M   28M  424M   7% /boot
[root@cs6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1989        176       1813          0          5         40
-/+ buffers/cache:        129       1860
Swap:         3479          0       3479
[root@cs6 ~]# swapoff /dev/sdb1
[root@cs6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1989        176       1813          0          5         40
-/+ buffers/cache:        129       1860
Swap:         3071          0       3071 

8.15 swapoff:关闭交换分区

若是须要回收磁盘资源,则可使用swapoff关闭交换分区释放磁盘空间。
 
-a    关闭全部交换分区
 
[root@cs6 ~]# swapoff -a
[root@cs6 ~]# free -m
             total       used       free     shared    buffers     cached
Mem:          1989        174       1815          0          6         41
-/+ buffers/cache:        127       1862
Swap:            0          0          0 

8.16 sync :刷新文件系统缓冲区

    sync命令会将内存缓冲区内的数据强制刷新到磁盘。 
    Linux内核为了达到最佳的磁盘操做效率,默认会先在内存中将须要写入到磁盘的数据缓存起来,而后等待合适的时机将它们真正写入到磁盘中,这在绝大多数状况下都是没有任何问题的,并且还提升了系统的效率,可是若是系统出现宕机、掉电等状况,就可能会致使有些文件内容没能保存下来。固然,在Linux系统正常关机或者重启时,会将缓冲区中的内容自动同步到磁盘中。咱们也能够手工执行sync命令,将内存中的文件缓冲内容强制写到磁盘中。
 
    可是一般状况下没有必要执行这个命令,一是Linux内核会尽快让内存中的数据自动同步到磁盘上去,二是咱们也没法预计何时会宕机、掉电。
[root@cs6 ~]# sync
[root@cs6 ~]# sync
相关文章
相关标签/搜索