linux磁盘空间使用问题
linux下空间满可能有两种情况
可以通过命令
df -h 查看磁盘空间占用,实际上是查看磁盘块占用的文件(block)
df -i 查看索引节点的占用(Inodes)
磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满。
所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满
通过命令:find / -size +100M |xargs ls -lh
列出系统内大于100M的文件
du -h --max-depth=1
查看当前目录内文件夹的大小
可以两种方式都测试下,有些时候,占用了大量空间的其实是系统日志或业务附件等小文件,
所以根据文件大小去查找不一定能查出正在占用硬盘空间的【目录】或文件,建议使用第二种
日志文件较大
web访问日志,建议做定时任务日志切割,以天为单位做压缩备份(可以通过脚本实现),保留一定时间以备查看,有需要可以做日志分析。
以一键安装包的环境为例,/alidata/log/ 目录下是是日志文件,可以检查文件大小是否占满磁盘使用,通常,access目录下文件为访问日志,error为错误日志。如磁盘占慢,这些日志又不重要,那么可以做清空处理,方法1,可以rm 删除掉,2 echo"" >access.log
大量小文件引起
由于业务需求,产生大量小文件,需要考虑新增加磁盘或者使用oss存储服务
df 命令结果显示的 Size 不等于 Avail + Used
Filesystem Size Used Avail Use% Mounted on
/dev/cciss/c0d0p1 9.7G 538M 8.7G 6% /
/dev/cciss/c0d0p6 503G 35G 442G 8% /opt
/dev/cciss/c0d0p5 9.7G 158M 9.1G 2% /home
/dev/cciss/c0d0p3 9.7G 2.5G 6.8G 28% /usr
/dev/cciss/c0d0p2 9.7G 1.1G 8.2G 12% /var
tmpfs 127G 36G 91G 28% /dev/shm
/dev/sddlmaa1 493G 531M 467G 1% /etl_loader
[root@dmdb2 log]# df
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/cciss/c0d0p1 10153988 550000 9079872 6% /
/dev/cciss/c0d0p6 526902720 36508388 463197496 8% /opt
/dev/cciss/c0d0p5 10153988 161052 9468820 2% /home
/dev/cciss/c0d0p3 10154020 2604320 7025580 28% /usr
/dev/cciss/c0d0p2 10154020 1066128 8563772 12% /var
tmpfs 132135932 36923100 95212832 28% /dev/shm
/dev/sddlmaa1 516054864 543296 489297508 1% /etl_loader
[root@dmdb2 log]# fdisk -l /dev/sddlmaa
255 heads, 63 sectors/track, 65270 cylinders
Units = cylinders of 16065 * 512 = 8225280 bytes
/dev/sddlmaa1 1 65270 524281243+ 83 Linux
500
猜想一下,文件系统元数据(inode), 保留空间,还是其他?
[root@dmdb2 log]# tune2fs -l /dev/sddlmaa1
tune2fs 1.39 (29-May-2006)
Filesystem volume name:
Last mounted on:
Filesystem UUID: b60c1597-b8df-4573-939f-9b9b7cbb27e8
Filesystem magic number: 0xEF53
Filesystem revision #: 1 (dynamic)
Filesystem features: has_journal resize_inode dir_index filetype needs_recovery sparse_super large_file
Default mount options: (none)
Filesystem state: clean
Errors behavior.: Continue
Filesystem OS type: Linux
Inode count: 65536000
Block count: 131070310
Reserved block count: 6553515
Free blocks: 128903916
Free inodes: 65535216
First block: 0
Block size: 4096
Fragment size: 4096
Reserved GDT blocks: 992
Blocks per group: 32768
Fragments per group: 32768
Inodes per group: 16384
Inode blocks per group: 512
Filesystem created: Tue Sep 27 13:44:47 2011
Last mount time: Fri May 11 05:43:36 2012
Last write time: Fri May 11 05:43:36 2012
Mount count: 7
Maximum mount count: 35
Last checked: Tue Sep 27 13:44:47 2011
Check interval: 15552000 (6 months)
Next check after: Sun Mar 25 13:44:47 2012
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
Inode size: 128
Journal inode: 8
Default directory hash: tea
Directory Hash Seed: 04e7940a-f2d4-4ea0-b0a4-78134302d050
Journal backup: inode blocks
[root@dmdb2 log]# expr 65536000 \* 128 / 1048576 / 1024
7
正好是7GB,这验证我们前面的猜测!
[root@dmdb2 log]# echo "516054864 - 543296 - 489297508"|bc
26214060
这么多26214060KB的空间哪儿去了呢? 系统隐藏了,保留了? 如果是,这些空间做什么呢,可以被释放吗?
保留空间功能:
1. 减少Linux文件系统碎片;
2. 在磁盘分区没有剩余空间的时候.,root用户也可以登陆维护,或者系统记录日志.
File system Reserved Block Count is supposed to reduce Linux file system defragmentation,
to allow root user login for maintenance or to allow Linux system logging facility to function properly
in case file system running low of free disk space.
[root@dmdb2 log]# expr 6553515 \* 4
26214060 (KB)
这个值正好等于上面的 Size - Avail - Used
这个Size为磁盘可存储数据的大小,实际的裸盘大小参考 fdisk -l中的bytes.
原因如下:
1. fdisk -l 通常以1000bytes 为1KB计数,因此显示的大小GB要大于df -h的结果.
2. df 显示的Size列,是剔除inode的大小(什么是inode?)
linux磁盘空间使用问题的更多相关文章
- Linux磁盘空间被未知资源耗尽【转】
Linux磁盘空间被未知资源耗尽 在linux中,当我们使用rm在linux上删除了大文件,但是如果有进程打开了这个大文件,却没有关闭这个文件的句柄,那么linux内核还是不会释放这个文件的磁盘空间, ...
- Linux学习之CentOS(十七)-----释放 Linux 系统预留的硬盘空间 与Linux磁盘空间被未知资源耗尽 (转)
释放 Linux 系统预留的硬盘空间 大多数文件系统都会保留一部分空间留作紧急情况时用(比如硬盘空间满了),这样能保证有些关键应用(比如数据库)在硬盘满的时候有点余地,不致于马上就 crash,给监 ...
- Linux磁盘空间扩容(LVM)
Linux磁盘空间扩容(lvm) 随着系统的运行时间增长,业务数据的增长,原有磁盘的空间会存在空间不足情况,导致系统不能正常运行,或者系统管理员磁盘没有完全划完,根据使用者的需求自行划分.那么怎么才能 ...
- 查看Linux磁盘空间大小命令
发表于:2012-09-17 10:25 查看Linux磁盘空间大小 一.df 命令: df 是来自于coreutils 软件包,系统安装时,就自带的:我们通过这个命令可以查看磁盘的使用情况以及文 ...
- (转)Linux磁盘空间监控告警 && Linux磁盘管理
Linux磁盘空间监控告警 http://blog.csdn.net/github_39069288/article/details/73478784-----------Linux磁盘管理 原文:h ...
- linux磁盘空间满了 但是没有大文件
很常见的一个问题 linux磁盘空间满了 但是没有大文件 解决思路: 1.用df 检查发现/根目录可用空间为0 [root@/]#df -h 2.用du检查发现各目录占用的空间都很少,有约3G的空间莫 ...
- Linux磁盘空间不足
Linux磁盘空间不足 描述:zabbix报警磁盘空间不足 1.登录服务器,查看磁盘空间 2.筛选空间占用的文件 层层筛选 3.将没用的文件删除 rm -f /opt/export/log/np_se ...
- linux磁盘空间满的处理
Java中运行SQL插入数据时报错: linux磁盘空间满处理: 1.df -h 查看磁盘空间占用,实际上是查看磁盘块占用的文件(block) 2.分别查看输入以下命令 (面对磁盘满了,通过下列命令 ...
- Linux磁盘空间监控告警
Linux系统中需要监控磁盘各分区的使用情况,避免由于各种突发情况,造成磁盘空间被消耗殆尽的情况,例如某个分区被Oracle的归档日志耗尽,导致后续的日志文件无法归档,这时ORACLE数据库就会出现错 ...
随机推荐
- zoj 1022 - Parallel Expectations
题目:有两个指令序列,在执行时,能够执行随意指令序列的下一条指令.每条指令要一直执行到结束. 求两组指令执行结束后,每一个变量里面存储值的期望. 分析:dp,模拟.这道题算不上难题,只是算得上的麻烦题 ...
- iOS 开发自定义一个提示框
在开发的时候,会碰到很多需要提示的地方,提示的方法也有很多种,ios 8 以前的版本有alertview还是以后用的alertController,都是这种作用, 但是不够灵活,而且用的多了,用户体验 ...
- iOS 开发 - iOS 8 以后使用UIAlertController的使用
最近在写项目的时候,发现使用alertview和actonsheet会报警告,所以就查了一下,发现ios 9 以后会使用UIAlertController来进行操作, 具体代码如下: 1.声明 #im ...
- 安卓教程:提取APK程序里图片资源的方法
有些APK程序里的图标.图片很漂亮,在使用程序时你可能会想,如果能把这些漂亮的图标.图片提取出来就好了,其实这是可以办到的,请看教程. 本教程以“电影超人”的APK安装包为例,其它APK程序的提取方法 ...
- NUC970烧录文件系统
燒錄U-Boot依照下列步驟將編譯完成的U-Boot燒錄至NAND Flash/SPI Flash/eMMC 中.U-Boot的編譯方法請參考4.3章節.3.11.1 燒錄所需檔案4. u-boot. ...
- 解决 ssh 登录到ubuntu server 慢的问题
最近在服务器上使用ubuntu系统,服务器上开启sshd服务,在客户端处使用ssh登录到服务器的时候出现卡顿的现象. 在网上搜索了解决方案,主要是: 1. 修改服务器的 /etc/ssh/sshd_c ...
- [干货] 有了微信小程序,谁还学ReactNative?
版权声明:本文由贺嘉原创文章,转载请注明出处: 文章原文链接:https://www.qcloud.com/community/article/145 来源:腾云阁 https://www.qclou ...
- Sublime Less 自动编译成css
1.note编译 .下载notejs https://nodejs.org/en/ .首先你要安装lessc.我是用npm包管理器直接安装的,只需要一条命令,如下: npm install less ...
- c# comboBox与数据库中的数据绑定
private void comBoxBinding() { SqlConnection connection = this.getConnection(); connection.Open(); S ...
- PHP中文字数限制:中文字符串截取(mb_substr)
一.中文截取:mb_substr() mb_substr( $str, $start, $length, $encoding ) $str,需要截断的字符串 $start,截断开始处,起始处为0 $l ...