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显示指定类型的磁盘。

[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查看磁盘空间,结果发现磁盘没满,那么请问这可能是什么原因?

 
可能是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

8.12-14 df 、mkswap、swapon、swapoff、sync的更多相关文章

  1. Gitlab一键端的安装汉化及问题解决(2017/12/14目前版本为10.2.4)

    Gitlab的安装汉化及问题解决 一.前言 Gitlab需要安装的包太TM多了,源码安装能愁死个人,一直出错,后来发现几行命令就装的真是遇到的新大陆一样... ... 装完之后感觉太简单,加了汉化补丁 ...

  2. Linux学习--第九天--du、df、fsck、dumpe2fs、mount、NTFS-3G、fdisk、partprobe、/etc/fstab、free、mkswap、swapon

    分区类型 主分区:最多只能分四个 扩展分区:只能有一个,如果有了扩展分区,主分区只能有三个.扩展分区不能格式化和存储数据,再划分为逻辑分区才能进行相应操作. 逻辑分区:IDE硬盘,linux最多支持5 ...

  3. 2.12 单选框和复选框(radiobox、checkbox)

    2.12 单选框和复选框(radiobox.checkbox) 本篇主要介绍单选框和复选框的操作一.认识单选框和复选框    1.先认清楚单选框和复选框长什么样 2.各位小伙伴看清楚哦,上面的单选框是 ...

  4. (转)2017年12月宋华教授携IBM中国研究院、猪八戒网、中航信托、33复杂美共同论道智慧供应链金融

    今年10月,国务院发布的<关于积极推进供应链创新与应用的指导意见>,不仅强调了发展服务型制造的重要性,同时也指出要积极稳妥发展供应链金融,推动供应链金融服务实体经济,鼓励商业银行.供应链核 ...

  5. 『Python基础-12』各种推导式(列表推导式、字典推导式、集合推导式)

    # 『Python基础-12』各种推导式(列表推导式.字典推导式.集合推导式) 推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的 ...

  6. 12、Linux基础--挂载磁盘步骤、流处理工具awk(正则 比较 逻辑 算数表达式 流程控制)

    笔记 1.晨考 1.用两种方法,实现将文件中的以# 开头的行把# 去掉 sed -r 's/^#//g' /etc/fstab cat /etc/fstab | tr -d '^#' 2.将文件中的H ...

  7. 鸟哥的Linux私房菜-第10/11/12/13章(vim程序编辑器、学习bash、正则表达式与文件格式化处理、学习Shell Scripts)

    第10章 vim程序编辑器 可以将vim看做vi的进阶版本,vim可以用颜色或底线等方式来显示出一些特殊的信息. 为何要学习vim?因为: a. 所有的 Unix Like 系统都会内建 vi 文书编 ...

  8. 12、Python函数高级(命名空间、作用域、装饰器)

    一.名称空间和作用域 1.命名空间(Namespace) 命名空间是从名称到对象的映射,大部分的命名空间都是通过 Python 字典来实现的. 命名空间提供了在项目中避免名字冲突的一种方法.各个命名空 ...

  9. linux、centos下查看系统版本、bios版本,内存信息等

    1.查看系统版本 [root@localhost ~]# more /etc/issueCentOS release 6.2 (Final)Kernel \r on an \m 2.查看CPU信息 : ...

  10. Windows网络驱动、NDIS驱动(微端口驱动、中间层驱动、协议驱动)、TDI驱动(网络传输层过滤)、WFP(Windows Filtering Platform)

    catalog . 引言 . Windows 2000网络结构和OSI模型 . NDIS驱动 . NDIS微端口驱动编程实例 . NDIS中间层驱动编程实例 . NDIS协议层驱动编程实例 . TDI ...

随机推荐

  1. dubbo负载均衡策略和集群容错策略都有哪些?动态代理策略呢?

    (1)dubbo负载均衡策略 1)random loadbalance 默认情况下,dubbo是random load balance随机调用实现负载均衡,可以对provider不同实例设置不同的权重 ...

  2. HMS Toolkit自动化环境配置,助您高效集成HMS Core

    HMS Toolkit是一个IDE插件,提供包括应用创建.编码和转换.调测和测试.提交上架等多个端到端开发工具,借助HMS Toolkit可提升3倍以上集成开发效率,可以帮助开发者以更高的开发效率.更 ...

  3. Go-21-结构体

    Go语言的面向对象 其他编程语言大多使用关键字"类"(class)来定义封装对象,表示该类的具体特征,然而Go并不是一个纯面向对象的编程语言.Go语言采用更灵活的"结构体 ...

  4. Java JFR 民间指南 - 事件详解 - jdk.ObjectAllocationInNewTLAB

    重新申请 TLAB 分配对象事件:jdk.ObjectAllocationInNewTLAB 引入版本:Java 11 相关 ISSUES: JFR: RecordingStream leaks me ...

  5. Day05_18_类和对象的含义与关系

    Java 类和对象 类的含义? 类属于引用数据类型,java语言中所有的.class都属于引用数据类型, 在类体当中,方法体之外定义的变量被称为 成员变量,成员变量若没有赋值,系统会默认赋值为0: 先 ...

  6. C#通过rabbitmq实现定时任务(延时队列)

    本文主要讲解如何通过RabbitMQ实现定时任务(延时队列) 环境准备 需要在MQ中进行安装插件 地址链接 插件介绍地址:https://www.rabbitmq.com/blog/2015/04/1 ...

  7. 学就完事了!万星项目带你做 3D 游戏——GitHub 热点速览 v.21.18

    本文首发于「HelloGitHub」微信公众号,搜索「HelloGitHub」点击关注解锁更多宝藏! 作者:HelloGitHub-小鱼干 新手开始学习的时候,都会遇到一个问题:如何开始学 xx?Se ...

  8. Python爬取笔趣阁小说,有趣又实用

    上班想摸鱼?为了摸鱼方便,今天自己写了个爬取笔阁小说的程序.好吧,其实就是找个目的学习python,分享一下. 1. 首先导入相关的模块 import os import requests from ...

  9. 01- web测试快速入门

    web测试与APP测试最非常重要的两个测试种类.web端指的就是在浏览器页面的测试. 你测试的软件通常是两种结构的,B/S架构与C/S架构. B/S架构:Browser/Server 浏览器与服务器模 ...

  10. POJ3189二分最大流(枚举下界,二分宽度,最大流判断可行性)

    题意:       有n头猪,m个猪圈,每个猪圈都有一定的容量(就是最多能装多少只猪),然后每只猪对每个猪圈的喜好度不同(就是所有猪圈在每个猪心中都有一个排名),然后要求所有的猪都进猪圈,但是要求所有 ...