分类:
2010-10-12 14:38:43
平时经常用linux的free命令查看内存信息,今天因为mysql系统突然死掉了,而且无法启动。具体现象是一直显示正在启动的进度状态,但始 终无法启动,平时启动几秒就完成了的。所以肯定有问题。于是准备查看下是不是日志信息多了,占满了硬盘空间。突然发现一个问题,怎么查看一个文件和目录的 空间占用情况呢,以前都用ls -al 命令,可以显示文件或目录的大小,但是总感觉不太直观,网络搜了下,发现du命令是行使这个职能的专业工具:显示目录或文件的大小。呵呵,很方便,只需要 du -sh fileName or directoryName 就可以显示指定的目录或文件的大小。而且这里的文件名或通配符,如果du -sh * 则显示当前目录所有的目录和文件的大小。至于大小的单位,可以使用-h参数自动调整,超过1Kb的显示单位为K,超过1mb的显示单位为m,依此类推,很 直观。
du(disk usage)命令的具体用法以及参数如下:
功能说明:显示目录或文件的大小。
语 法:du [-abcDhHklmsSx]
[-L <符号连接>][-X <文件>][--block-size][--exclude=<目录或文件>]
[--max-depth=<目录层数>][--help][--version][目录或文件]
补充说明:du会显示指定的目录或文件所占用的磁盘空间。
参 数:
-a或-all 显示目录中个别文件的大小。
-b或-bytes 显示目录或文件大小时,以byte为单位。
-c或--total 除了显示个别目录或文件的大小外,同时也显示所有目录或文件的总和。
-D或--dereference-args 显示指定符号连接的源文件大小。
-h或--human-readable 以K,M,G为单位,提高信息的可读性。
-H或--si 与-h参数相同,但是K,M,G是以1000为换算单位。
-k或--kilobytes 以1024 bytes为单位。
-l或--count-links 重复计算硬件连接的文件。
-L<符号连接>或--dereference<符号连接> 显示选项中所指定符号连接的源文件大小。
-m或--megabytes 以1MB为单位。
-s或--summarize 仅显示总计。
-X<文件>或--exclude-from=<文件> 在<文件>指定目录或文件。
--exclude=<目录或文件> 略过指定的目录或文件。
--max-depth=<目录层数> 超过指定层数的目录后,予以忽略。
--help 显示帮助。
--version 显示版本信息。
于是用du命令检查了下MYSQL的日志保存目录的文件大小,发现有个文件竟然有40G左右,再看看硬盘整体资源占用情况,发现居然全部用完了。仔 细查看这个40G的文件,原来是开通了查询日志。这个日志会记录下所有查询的SQL,时间长了,自然硬盘空间不够了。确认没有用后,删除之,MYSQL一 下就启动了。