Linux系统管理员工具包 监视磁盘空间和使用情况
- 格式:docx
- 大小:32.82 KB
- 文档页数:13
linux查看磁盘空间,⽂件⽬录命令1. freefree命令⽤于显⽰内存状态。
free指令会显⽰内存的使⽤情况,包括实体内存,虚拟的交换⽂件内存,共享内存区段,以及系统核⼼使⽤的缓冲区等。
语法: free [-bkmotV][-s <间隔秒数>]参数:-b 以Byte为单位显⽰内存使⽤情况。
-k 以KB为单位显⽰内存使⽤情况。
-m 以MB为单位显⽰内存使⽤情况。
-o 不显⽰缓冲区调节列。
-s<间隔秒数> 持续观察内存使⽤状况。
-t 显⽰内存总和列。
-V 显⽰版本信息。
-h ⼈性化⽅式显⽰数值:单位取 M、G等(这是⼀个通⽤参数,很多命令都可以带这个参数。
)2. dfdf:列出⽂件系统的整体磁盘使⽤量。
检查⽂件系统的磁盘空间占⽤情况。
可⽤来获取硬盘被占⽤了多少空间,⽬前还剩下多少空间等信息。
语法: df [-ahikHTm] [⽬录或⽂件名]参数:-a :列出所有的⽂件系统,包括系统特有的 /proc 等⽂件系统;-k :以 KBytes 的容量显⽰各⽂件系统;-m :以 MBytes 的容量显⽰各⽂件系统;-h :以⼈们较易阅读的 GBytes, MBytes, KBytes 等格式⾃⾏显⽰;-H :以 M=1000K 取代 M=1024K 的进位⽅式;-T :显⽰⽂件系统类型, 连同该 partition 的 filesystem 名称 (例如 ext3) 也列出;-i :不⽤硬盘容量,⽽以 inode 的数量来显⽰3. dudu 对⽂件和⽬录磁盘使⽤的空间的查看。
语法: du [-ahskm] ⽂件或⽬录名称参数:-a :列出所有的⽂件与⽬录容量,因为默认仅统计⽬录底下的⽂件量⽽已。
-h :以⼈们较易读的容量格式 (G/M) 显⽰;-s :列出总量⽽已,⽽不列出每个各别的⽬录占⽤容量;-S :不包括⼦⽬录下的总计,与 -s 有点差别。
-k :以 KBytes 列出容量显⽰;-m :以 MBytes 列出容量显⽰;检查根⽬录底下每个⽬录所占⽤的容量:du -sm /*查看当前⽬录下每个⽂件夹的⼤⼩:du -sh *# 把占⽤空间最⼤的⽂件列在最后du -sh * | sort -h# 放在开头的话du -sh * | sort -rh4. fdiskfdisk 是 Linux 的磁盘分区表操作⼯具。
查看Linux系统内存、CPU、磁盘使⽤率和详细信息⼀、查看内存占⽤1、free# free -m以MB为单位显⽰内存使⽤情况[root@localhost ~]# free -mtotal used free shared buff/cache availableMem: 118521250866841019349873Swap: 601506015# free -h以GB为单位显⽰内存使⽤情况[root@localhost ~]# free -htotal used free shared buff/cache availableMem: 11G 1.2G 8.5G 410M 1.9G 9.6GSwap: 5.9G 0B 5.9G# free -t以总和的形式查询内存的使⽤信息[root@localhost ~]# free -ttotal used free shared buff/cache availableMem: 1213733212853448870628420268198136010105740Swap: 616038006160380Total: 18297712128534415031008# free -s 5周期性的查询内存使⽤信息每5秒执⾏⼀次命令[root@localhost ~]# free -s 5total used free shared buff/cache availableMem: 1213733212807968875008420268198152810110136Swap: 616038006160380解释:Mem:内存的使⽤情况总览表(物理内存)Swap:虚拟内存。
即可以把数据存放在硬盘上的数据shared:共享内存,即和普通⽤户共享的物理内存值buffers:⽤于存放要输出到disk(块设备)的数据的cached:存放从disk上读出的数据total:机器总的物理内存used:⽤掉的内存free:空闲的物理内存注:物理内存(total)=系统看到的⽤掉的内存(used)+系统看到空闲的内存(free)2、查看某个pid的物理内存使⽤情况# cat /proc/PID/status | grep VmRSS[root@localhost ~]# pidof nginx2732727326[root@localhost ~]#[root@localhost ~]# cat /proc/27327/status | grep VmRSSVmRSS: 2652 kB[root@localhost ~]#[root@localhost ~]# cat /proc/27326/status | grep VmRSSVmRSS: 1264 kB[root@localhost ~]#[root@localhost ~]# pidof java1973[root@localhost ~]# cat /proc/1973/status | grep VmRSSVmRSS: 1166852 kB由上⾯可知,nginx服务进程的两个pid所占物理内存为"2652+1264=3916k"3、查看本机所有进程的内存占⽐之和# cat mem_per.sh[root@localhost ~]# cat mem_per.sh#!/bin/bashps auxw|awk '{if (NR>1){print $4}}' > /opt/mem_listawk '{MEM_PER+=$1}END{print MEM_PER}' /opt/mem_list[root@localhost ~]#[root@localhost ~]# chmod755 mem_per.sh[root@localhost ~]#[root@localhost ~]# sh mem_per.sh64.4[root@localhost ~]#脚本配置解释:ps -auxw|awk '{print $3}' 表⽰列出本机所有进程的cpu利⽤率情况,结果中第⼀⾏带"%CPU"字符ps -auxw|awk '{print $4}' 表⽰列出本机所有进程的内存利⽤率情况,结果中第⼀⾏带"%MEM"字符ps auxw|awk '{if (NR>1){print $4}} 表⽰将"ps auxw"结果中的第⼀⾏过滤(NR>1)掉,然后打印第4⾏⼆、查看CPU使⽤情况1、toptop后键⼊P看⼀下谁占⽤最⼤# top -d 5周期性的查询CPU使⽤信息每5秒刷新⼀次top - 02:37:55 up 4 min, 1 user, load average: 0.02, 0.10, 0.05Tasks: 355 total, 1 running, 354 sleeping, 0 stopped, 0 zombie%Cpu(s): 3.0 us, 2.8 sy, 0.0 ni, 94.2id, 0.0 wa, 0.0 hi, 0.0 si, 0.0 st# us:表⽰⽤户空间程序的cpu使⽤率(没有通过nice调度)# sy:表⽰系统空间的cpu使⽤率,主要是内核程序。
linux操作系统监控工具监控你的WEB服务器或者WEB主机运行是否正常与健康是非常重要的。
你要确保用户始终可以打开你的网站并且网速不慢。
服务器监控工具允许你收集和分析有关你的Web服务器的数据。
这里店铺就与大家谈谈Linux操作票撒谎那个面都有一些什么样的系统监控工具。
linux操作系统监控工具一、基于命令行的性能监控工具1.dstat - 多类型资源统计工具该命令整合了vmstat,iostat和ifstat三种命令。
同时增加了新的特性和功能可以让你能及时看到各种的资源使用情况,从而能够使你对比和整合不同的资源使用情况。
通过不同颜色和区块布局的界面帮助你能够更加清晰容易的获取信息。
它也支持将信息数据导出到cvs 格式文件中,从而用其他应用程序打开,或者导入到数据库中。
你可以用该命令来监控cpu,内存和网络状态随着时间的变化。
2.atop - 相比top更好的ASCII码体验这个使用ASCII码显示方式的命令行工具是一个显示所有进程活动的性能监控工具。
它可以展示每日的系统日志以进行长期的进程活动分析,并高亮显示过载的系统使用资源。
它包含了CPU,内存,交换空间,磁盘和网络层的度量指标。
所有这些功能只需在终端运行atop即可。
# atop当然你也可以使用交互界面来显示数据并进行排序。
3.Nmon - 类Unix系统的性能监控Nmon是Nigel's Monitor缩写,它最早开发用来作为AIX的系统监控工具。
如果使用在线模式,可以使用光标键在屏幕上操作实时显示在终端上的监控信息。
使用捕捉模式能够将数据保存为CSV格式,方便进一步的处理和图形化展示。
更多的信息参考我们的nmon性能监控文章。
4.slabtop - 显示内核slab缓存信息这个应用能够显示缓存分配器是如何管理Linux内核中缓存的不同类型的对象。
这个命令类似于top命令,区别是它的重点是实时显示内核slab缓存信息。
它能够显示按照不同排序条件来排序显示缓存列表。
如何在Linux系统中查看硬盘SMART状态在Linux系统中,SMART(自监视、分析和报告技术)是一种用于监控硬盘健康状况的技术。
通过查看硬盘的SMART状态,我们可以及时了解硬盘的健康情况,以便采取适当的措施来避免数据丢失和硬盘损坏。
本文将介绍如何在Linux系统中查看硬盘的SMART状态。
要在Linux系统中查看硬盘的SMART状态,我们可以使用smartmontools工具。
smartmontools是一个开源的SMART监控工具,它提供了一组命令行工具,用于查看和分析硬盘的SMART信息。
首先,我们需要确保smartmontools已经安装在我们的Linux系统中。
在大多数Linux发行版中,smartmontools已经默认安装。
为了确认它是否已安装,我们可以打开终端并输入以下命令:```shellsmartctl --version```如果系统已经安装了smartmontools,它将显示smartmontools的版本信息。
如果没有安装,我们可以使用以下命令来安装smartmontools:在Debian/Ubuntu系列的系统中,使用以下命令:```shellsudo apt install smartmontools```在Red Hat/CentOS系列的系统中,使用以下命令:```shellsudo yum install smartmontools```安装完成后,我们可以使用以下命令来查看硬盘的SMART状态:```shellsudo smartctl -a /dev/sdx```其中,/dev/sdx是待查看SMART状态的硬盘设备文件名,可以根据实际情况进行替换。
通常,硬盘设备文件名为/dev/sda或/dev/sdb等。
执行以上命令后,系统将列出硬盘的SMART信息,包括各种指标和属性。
这些指标和属性可以帮助我们判断硬盘的健康情况。
除了查看硬盘的SMART状态,我们还可以使用smartctl命令来进行更详细的分析。
Linux系统磁盘空间监控脚本使用Shell脚本监控磁盘空间并发送提醒随着计算机应用的广泛普及,对服务器和系统的监控变得越来越重要。
其中,对于Linux系统的磁盘空间的监控尤为重要,因为磁盘空间的过度使用可能导致系统崩溃和性能下降。
为了解决这个问题,我们可以借助Shell脚本来监控Linux系统的磁盘空间,并及时发送提醒。
一、编写Shell脚本为了实现Linux系统磁盘空间的监控,我们首先需要编写一个Shell 脚本。
下面是一个示例脚本:```shell#!/bin/bash# 获取磁盘空间使用率disk_usage=$(df -h | grep /dev/sda1 | awk '{print $5}' | cut -d'%' -f1)# 设置阈值threshold=80# 判断磁盘空间使用率是否超过阈值if [ "$disk_usage" -gt "$threshold" ]; then# 发送邮件提醒echo "磁盘空间使用率已超过阈值,请及时处理。
" | mail -s "磁盘空间监控提醒"****************fi```在这个示例脚本中,我们首先使用`df -h`命令获取整个系统磁盘的使用情况,并通过`grep`命令和`awk`命令提取出我们关注的磁盘空间使用率。
然后,我们设置了一个阈值(例如80%),如果磁盘空间使用率超过阈值,就会发送一封邮件提醒管理员。
二、设置定时任务为了能够定期执行磁盘空间监控脚本,我们可以使用Linux系统提供的Cron服务来设置定时任务。
1. 打开终端,输入以下命令来编辑Cron任务表:```shellcrontab -e```2. 在打开的文本编辑器中,添加以下内容:```shell*/5 * * * * /path/to/monitor_disk_space.sh```上述命令中,`*/5 * * * *`表示每隔5分钟执行一次脚本,`/path/to/monitor_disk_space.sh`路径需要替换为你实际脚本的路径。
linux一些常用的查看资源使用命令
在Linux系统中,可以使用以下命令来查看资源的使用情况:
1. top:实时查看系统的整体运行情况,包括CPU、内存、进程等的使用情况。
2. free:查看系统内存的使用情况,包括空闲内存、已使用内存、缓存和缓冲区的使用情况。
3. df:查看文件系统的磁盘空间使用情况,包括总容量、已用空间、剩余空间和挂载点。
4. du:查看目录或文件的磁盘使用情况,可以查看目录下所有文件的大小。
5. ps:查看系统当前运行的进程,可以查看进程的PID、占用CPU和内存等信息。
6. iostat:查看系统磁盘和设备的IO使用情况,包括读写速度、IOPS等。
7. netstat:查看网络连接和网络统计信息,包括监听端口、已建立的连接等。
8. sar:查看系统性能统计数据,包括CPU使用率、内存使用率、磁盘IO等。
9. vmstat:查看系统的虚拟内存使用情况,包括交换空间、页缓存、进程等。
10. lsof:查看系统打开的文件和网络连接,可以查看进程打开的文件和端口。
以上只是常用的几个命令,实际上Linux还有很多其他命令可以查看系统资源的使用情况,可以根据具体需求选择适合的命令来使用。
Linux下系统如何监控服务器硬件、操作系统、应⽤服务和业务1.Linux监控概述Linux服务器要保证系统的⾼可⽤性,需要实时了解到服务器的硬件、操作系统、应⽤服务等的运⾏状况,各项性能指标是否正常,需要使⽤各种LINUX命令。
做到⾃动化运维就需要,将上述各项监控指标在同⼀个软件中展显出来,图形化监控,消息报警机制,⽇志检看,资产管理等等2.Linux监控的对象2.1 硬件监控(1)服务器:如电源,风扇,磁盘,CPU等,可以使⽤IPMI监控,在LINUX下安装IPMITOOL不同的服务器⼚商都在服务器上配有远程控制卡BMC: 如DELL(iDRAC) ,IBM (IMM) ,HP(ILO)LINUX下只需安装:#yum install -y OpenIPMI ipmitool 这⼆个⼯具就可以IPMI命令可以在服务器本地运⾏,也可以通过⽹络远程调⽤,IPMI在服务器上可以配置单独的IP地址和访问密码(2)⽹络设备:交换机,防⽕墙,路由器等,使⽤SNMP进⾏监控在被监控的设备上开启SNMP代理,到时可以通过⼯具进⾏获取数据,如ZABBIX1.LINUX上安装#yum list |grep snmp#yum install -y net-snmp net-snmp-utils安装好后要配置snmpd.conf⽂件rocommunity snmptest 172.16.20.89 #172.16.20.89表⽰仅这IP地址才可以来访问snmp信息#systemctl start snmpd 启动SNMP ,netstat -nulp ,netstat -ntlp 查看snmp启来的端⼝udp=161 ,TCP=199通过SNMP命令可以获取监控信息:#snmpget -v2c -c snmptest 172.16.20.89 1.3.6.1.2.1.1.3.0 #1.3.6.1.2.1.1.3.0为OID2.交换机上开启snmp-server community public ro(3)定期机房巡检,查看设备运⾏情况2.2 操作系统监控安装sysstat⼯具,包括了iostat、vmstat、sar、mpstat、nfsiostat、pidstat (yum install -y sysstat #rpm -ql sysstat)(1)CPU (CPU调度上下⽂切换,运⾏队列负载,CPU使⽤率)确定服务类型:IO密集型(如:数据库),CPU密集型(如:WEB)1.cpu利⽤率内核态: 30%和⽤户态:70%2.cpu运⾏队列:1~3线程 1CPU=4核队列不超过12个3.上下⽂切换:尽量少,结合cpu利⽤率4.#top命令(显⽰CPU和内存信息,M按内存使⽤率排序,P按CPU使⽤率排序,Q退出)CPU百分⽐各项指标: us:⽤户态 sy:内核态 ni:进程间优先级更换 id:空闲 wa:IO等待 hi:硬中断 si:软件中 st:虚拟5.CPU监控的各种命令:top ,vmstat , mpstat, uptime ,ps cpu进程情况,pstree 以树形结构显⽰进程之间的关系(2)内存1. free -m :显⽰内存信息2.vmstat :来监控虚拟内存 #vmstat 1 10 每隔1秒共10次获取监控信息(3)磁盘1.iostat:命令⽤来显⽰存储⼦系统的详细信息,通常⽤它来监控磁盘 I/O 的情况。
Linux系统IO分析⼯具之iotop参数详解(查看IO占⽤)这篇⽂章主要介绍了Linux系统IO分析⼯具之iotop参数详解(查看IO占⽤),本⽂着重注解了iotop⼯具的参数,以及可操作命令,需要的朋友可以参考下简介:iotop – simple top-like I/O monitoriotop是⼀个⽤来监视磁盘I/O使⽤状况的 top 类⼯具,可监测到哪⼀个程序使⽤的磁盘IO的信息(requires 2.6.20 or later)安装:复制代码代码如下:yum -y install iotop⽤法:复制代码代码如下:iotop [OPTIONS]选项:复制代码代码如下:--version #显⽰版本号-h, --help #显⽰帮助信息-o, --only #显⽰进程或者线程实际上正在做的I/O,⽽不是全部的,可以随时切换按o-b, --batch #运⾏在⾮交互式的模式-n NUM, --iter=NUM #在⾮交互式模式下,设置显⽰的次数,-d SEC, --delay=SEC #设置显⽰的间隔秒数,⽀持⾮整数值-p PID, --pid=PID #只显⽰指定PID的信息-u USER, --user=USER #显⽰指定的⽤户的进程的信息-P, --processes #只显⽰进程,⼀般为显⽰所有的线程-a, --accumulated #显⽰从iotop启动后每个线程完成了的IO总数-k, --kilobytes #以千字节显⽰-t, --time #在每⼀⾏前添加⼀个当前的时间-q, --quiet #suppress some lines of header (implies --batch). This option can be specified up to three times to remove header lines.-q column names are only printed on the first iteration,-qq column names are never printed,-qqq the I/O summary is never printed.可⽤的命令(在运⾏iotop命令后按相应键位):使⽤left和right改变排序(⽅向键改变排序列),还可使⽤以下命令:复制代码代码如下:r:反向排序,o:切换⾄选项--only,p:切换⾄--processes选项,a:切换⾄--accumulated选项q:退出i:改变线程的优先级例⼦:复制代码代码如下:$ iotop$ iotop –b –n 3 –d 5iotop命令是专门显⽰硬盘IO的命令,界⾯风格类似top命令。
linux查看磁盘空间⼤⼩命令Ubuntu 查看⽂件以及磁盘空间⼤⼩管理(1)查看⽂件⼤⼩查看当前⽂件夹下所有⽂件⼤⼩(包括⼦⽂件夹)du -sh# du -h15M ./package16K ./.fontconfig4.0K ./.cache5.1M ./.rpmdb20M .查看指定⽂件夹下所有⽂件⼤⼩(包括⼦⽂件夹)# du -h ftp3.8G ftp/sanya/doc3.8G ftp/sanya4.0K ftp/testftp/doc1.4M ftp/testftp875M ftp/platform/doc/002-录像27M ftp/platform/doc/001-PDF5.2M ftp/platform/doc/BBFlash1.2G ftp/platform/doc/003-录⾳2.1G ftp/platform/doc2.1G ftp/platform4.0K ftp/pmo/doc20K ftp/pmo36M ftp/uf/doc/innovate-20120736M ftp/uf/doc36M ftp/uf446M ftp/code/doc446M ftp/code6.3G ftp查看指定⽂件⼤⼩# du -h ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm184K ./package/compat-libstdc++-33-3.2.3-69.el6.x86_64.rpm查看指定⽂件夹⼤⼩# du -hs ftp6.3G ftp⽤法:du [选项]... [⽂件]...或:du [选项]... --files0-from=F计算每个⽂件的磁盘⽤量,⽬录则取总⽤量。
长选项必须使⽤的参数对于短选项时也是必需使⽤的。
-a, --all 输出所有⽂件的磁盘⽤量,不仅仅是⽬录--apparent-size 显⽰表⾯⽤量,⽽并⾮是磁盘⽤量;虽然表⾯⽤量通常会⼩⼀些,但有时它会因为稀疏⽂件间的"洞"、内部碎⽚、⾮直接引⽤的块等原因⽽变⼤。
linux中edquota 命令的用法-回复EDQUOTA命令是Linux系统中的一个重要工具,用于管理磁盘配额。
磁盘配额允许系统管理员限制用户在特定分区中可以使用的磁盘空间。
通过使用EDQUOTA命令,管理员可以设置和管理用户的磁盘配额。
本文将一步一步回答关于EDQUOTA命令的使用。
第一步:安装和配置磁盘配额在开始使用EDQUOTA命令之前,首先我们需要确保磁盘配额功能已经正确地安装和配置在我们的系统中。
我们可以通过以下步骤来完成这一任务。
1. 安装必要的软件包在大多数Linux系统中,磁盘配额功能通常作为一个可选的软件包提供。
我们可以通过包管理器来安装所需的软件包。
例如,在Debian或Ubuntu 中,我们可以使用以下命令来安装软件包。
sudo apt-get install quota2. 启用磁盘配额一旦软件包安装完成,我们需要确保磁盘配额功能已经启用。
我们可以通过编辑文件`/etc/fstab`来实现。
打开该文件并找到我们想要启用配额的分区。
在分区的配置行中添加`usrquota`和`grpquota`选项。
例如:/dev/sda1 / ext4 defaults,usrquota,grpquota 0 1保存文件并重新挂载分区:sudo mount -o remount /3. 创建磁盘配额数据库一旦磁盘配额功能已启用,我们需要创建配额数据库。
我们可以使用以下命令:sudo quotacheck -cug /home该命令将创建一个.quota文件保存在指定目录中(在此示例中为`/home`)以跟踪用户和组的磁盘使用情况。
第二步:使用EDQUOTA命令设置和管理配额现在,我们已经完成了安装和配置磁盘配额的步骤,可以开始使用EDQUOTA命令来设置和管理磁盘配额。
下面是EDQUOTA命令的一些常见用法。
1. 设置用户配额我们可以使用EDQUOTA命令来设置特定用户的磁盘配额。
例如,假设我们要设置用户"john"的磁盘配额为100MB。
Linux系统管理员工具包: 监视磁盘空间和使用情况本书网络下载内容丰富,分享给大家学习。
研究确定跨多个UNIX 系统的磁盘使用情况以及如何创建一个简单的警告系统对潜在问题发出警告的方法。
关注您的文件系统,确保它们没有填满,这虽然是个小事,但在UNIX 系统的日常管理工作中是至关重要的过程。
在本文中,您将了解到监视磁盘空间、发现究竟是哪些文件、用户或应用程序占用了大部分的空间、以及如何使用配额和其他解决方案查找需要的信息的方法。
关于本系列通常,UNIX 管理员都拥有一套常用的辅助进程管理的实用工具、技巧和系统。
本文提供了各种用于简化各个过程的关键实用工具、命令行链和脚本。
这些工具中的一部分来自于操作系统,而大部分的技巧则来源于长期的经验积累和减轻系统管理员的工作压力的要求。
本系列文章主要专注于最大限度地利用各种UNIX 环境中可用的工具,包括简化异类环境中的管理任务的方法。
入门:使用df监视磁盘空间是UNIX 管理员的工作中很重要的一部分。
本文向您介绍一些完成管理工作所需的工具,包括df、du、find 的使用,甚至配额的使用。
让我们先来看看df 的强大功能。
对于许多管理员来说,使用df 工具可能有点像断续的神经运动,因为它通过一个命令提供了所有文件系统中已使用的和可用的存储空间的快照视图。
根据您的UNIX 环境的不同,df 的缺省输出可能包含各种不同的信息。
大部分现代的df 变种都可以显示磁盘空间、使用情况和可用性,通常还包括装入点(有时包括设备)。
例如,基于BSD 的Mac OS X 显示如清单 1 所示的信息。
清单1. Mac OS X 的缺省磁盘空间信息1.Filesystem 512-blocks Used Avail Capacity Mounted on2./dev/disk0s2 268435456 119741344 148182112 45% /3.devfs 195 195 0 100% /dev4.fdesc 2 2 0 100% /dev5.<volfs> 1024 1024 0 100% /.vol6./dev/disk0s3 43474520 7251448 36223072 17% /Volumes/Untitled复制代码请注意,所显示的大小是以512 字节块为单位,而不是千字节。
缺省情况下,几乎所有传统的UNIX 操作系统都以512 字节块为单位报告大小,而不是千字节。
要获得以1K 块为单位的信息,可以使用-k 命令行选项,如清单2 所示。
清单2. 使用带-k 选项的df 命令1.$ df -k2.Filesystem 1K-blocks Used Avail Capacity Mounted on3./dev/disk0s2 134217728 59870704 74091024 45% /4.devfs 97 97 0 100% /dev5.fdesc 1 1 0 100% /dev6.<volfs> 512 512 0 100% /.vol7./dev/disk0s3 21737260 3625724 18111536 17% /Volumes/Untitled复制代码有些变种可能还支持可选的块大小,如兆字节(使用-m)和千兆字节(使用-g),如清单3 所示。
清单3. 使用带-g 选项的df 命令1.$ df -g2.Filesystem 1G-blocks Used Avail Capacity Mounted on3./dev/disk0s2 128 57 70 45% /4.devfs 0 0 0 100% /dev5.fdesc 0 0 0 100% /dev6.<volfs> 0 0 0 100% /.vol7./dev/disk0s3 20 3 17 17% /Volumes/Untitled复制代码很显然,在增大显示的块大小的同时,信息中的详细级别也开始降低,但使用可选的大小是一种快速监视磁盘,特别是超大容量磁盘的很有用的方法。
其他版本的df 工具(特别是Solaris),缺省情况下将报告空块和文件可用性信息。
大部分文件系统都具有能够存储文件的上限数值(该数值很大,以至于通常不会达到该上限),所以有可能整个系统填满了文件,还有可用磁盘容量但却不能再存储任何文件了。
您可以在清单 4 中看到Solaris 的缺省输出示例。
清单4. Solaris 的缺省输出1.$ df2./ (/dev/dsk/c0t0d0s0 ):14877208 blocks 914042files3./devices (/devices ): 0 blocks 0files4./system/contract (ctfs ): 0 blocks 2147483618files5./proc (proc ): 0 blocks 16109files6./etc/mnttab (mnttab ): 0 blocks 0files7./etc/svc/volatile (swap ): 5737216 blocks 147177files8./system/object (objfs ): 0 blocks 2147483532files9./usr (/dev/dsk/c0t0d0s3 ): 9076010 blocks 863695files10./dev/fd (fd ): 0 blocks 0files11./var (/dev/dsk/c0t0d0s4 ): 8110796 blocks 483714files12./tmp (swap ): 5737216 blocks 147177files13./var/run (swap ): 5737216 blocks 147177files14./export/home (/dev/dsk/c0t0d0s7 ):69362510 blocks 4272812files复制代码使用-k 命令行选项可以将显示内容切换为与前面的示例类似的格式,其中对数据进行了摘要处理,得到更加便于阅读的格式(请参见清单5)。
清单5. 使用-k 选项1.$ df -k2.Filesystem kbytes used avail capacity Mounted on3./dev/dsk/c0t0d0s0 7644629 206026 7362157 3% /4./devices 0 0 0 0% /devices5.ctfs 0 0 0 0% /system/contract6.proc 0 0 0 0% /proc7.mnttab 0 0 0 0% /etc/mnttab8.swap 2868600 10162867584 1% /etc/svc/volatile9.objfs 0 0 0 0% /system/object10./dev/dsk/c0t0d0s3 8261237 3723232 4455393 46% /usr11.fd 0 0 0 0% /dev/fd12./dev/dsk/c0t0d0s4 4130238 74849 4014087 2% /var13.swap 2867584 0 2867584 0% /tmp14.swap 2867624 40 2867584 1% /var/run15./dev/dsk/c0t0d0s7 35611388 93013334325142 3% /export/home复制代码所有的df 变种都接受一个目录或路径,然后显示包含该路径的文件系统的磁盘空间信息。
例如,下面显示了应该如何获得根文件系统的空间信息:1.$ df -k /2.Filesystem kbytes used avail capacity Mounted on3./dev/dsk/c0t0d0s0 7644629 206026 7362157 3% /复制代码或者,下面使用df 显示了一个用户的home 目录的空间信息:1.$ df -k ~mc2.Filesystem kbytes used avail capacity Mountedon3./dev/dsk/c0t0d0s7 35611388 93013334325142 3% /export/home复制代码使用df 的输出df 工具实际上是disk free 的缩写,并且这也正是该工具所显示的内容。
如果再次查看某个示例输出,您可以从中提取一些特别重要的元素:Filesystem kbytes used avail capacity Mounted on/dev/dsk/c0t0d0s7 35611388 930133 34325142 3% /export/home第一列通常具有与块大小数据相对应的标题,它显示了磁盘的总大小。
used 列显示了该文件系统或设备上已使用的块数。
avail 列显示了该文件系统上尚未使用的(可用的)块数。
capacity 列提供了总大小中已使用的磁盘空间所占的百分比。
这个信息本身可以提供关于可用空间的直观指示。
缺省情况下,UNIX 所创建的文件系统中百分之九十的容量可用于存放用户数据。
剩下的百分之十由系统保留,以便root 用户执行紧急维护工作。
如果用户试图添加或创建超出该限制的文件,那么将返回一个错误(超出文件系统空间)。
有了这个紧急维护空间,就可以利用它对一块已满的磁盘进行恢复。
例如,作为管理员,您可以使用这个空间来创建快速备份,或对现有的数据进行压缩而无需为达到该目的使用辅助文件系统。
您可以使用tunefs 工具或在创建文件系统时,调整保留的空闲空间的大小。
对于大容量磁盘来说,这是至关重要的,因为其中百分之十的缓冲区可能等于许多个GB 的潜在空间。
通常好的做法是至少保留百分之一的空间,以便在完全用尽存储空间之前,提供最低限度的缓冲区空间。
在深入研究这个问题之前,特别是如果已经使用了大量的磁盘空间,您需要确定到底是谁使用了所有的这些空间。
使用dudu 命令并不是显示磁盘的空闲空间,而是显示磁盘使用情况的信息。
du 工具用于确定文件和目录的磁盘使用情况。
要使用这个工具,改变到一个目录,然后运行该工具(请参见清单6)。
清单6. du 命令1.$ cd /var2.$ du3.16 ./lost+found4. 4 ./sadm/install/admin5.22 ./sadm/install/logs6.28448 ./sadm/install7. 4 ./sadm/pkg/SUNWocfd/install8. 4 ./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd/install9.16 ./sadm/pkg/SUNWocfd/save/pspool/SUNWocfd10.18 ./sadm/pkg/SUNWocfd/save/pspool11.20 ./sadm/pkg/SUNWocfd/save12.28 ./sadm/pkg/SUNWocfd13.4 ./sadm/pkg/SUNWcsu/inst14....复制代码上面的清单6 中显示的输出,经过了适当的调整。