Re: No space left on device after many files creation

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



tytso@xxxxxxx wrote:
> On Mon, Apr 12, 2010 at 05:00:37PM -0500, Eric Sandeen wrote:
>   
>> cy6erGn0m wrote:
>>     
>>> In the past I have done the same test for ext3 and it was created ~10M
>>> files in one firectory at working filesystem (/home) and it was no
>>> issues reached.
>>>
>>> On ext4 i found inodes max size is limited as you wrote:
>>> [root@cgmachine sandbox]# df -i /e4
>>> Файловая система      Инодов   Испол   Своб  Исп % смонтирована на
>>> (file system/inodes/used/free/used%/mounted on)
>>> /dev/sda4               1,8M    1,8M       0  100% /e4
>>> [root@cgmachine sandbox]#
>>>
>>> Why inodes count limit is so small by default? Is it depends on
>>> partition size?
>>>       
>> it does depend on partition size; the inode_ratio = 16384 in mke2fs.conf
>> says 1 inode per 16k of filesystem space.
>>     
>
> 1.8 million inodes is hardly small.....  most people complain that
> we're reserving too much space for inodes.  
>
> Cy6erGn0m, What is your use case where the average file size for your
> 20G partition is smaller that 16k?
>
> 						- Ted
>   
I use filysystem as Set data structure to make fast checks from scripts.
Of course I can make long long file and test it with grep but it's will
have linear performance degradation (List), at the same time file system
has efficient tree binary structures (smth. like TreeSet). So, using
filesystem is the simplest way to do this efficient. Also I always have
timestamps for every entry. In this usecase all files are always empty.

Here is simple performance comparison: list vs tree:
cy6ergn0m@cgmachine /e4/sandbox/heap $ time cat ../x | grep ^610845$ ../x
610845
cat ../x  0,00s user 0,00s system 2% cpu 0,127 total
grep --color ^610845$ ../x  0,08s user 0,03s system 87% cpu 0,136 total
cy6ergn0m@cgmachine /e4/sandbox/heap $ time stat 610845            
  File: `610845'
  Size: 0               Blocks: 0          IO Block: 4096   пустой
обычный файл
Device: 804h/2052d      Inode: 1520242     Links: 1
Access: (0644/-rw-r--r--)  Uid: (  500/cy6ergn0m)   Gid: (  500/cy6ergn0m)
Access: 2010-04-13 10:17:58.119477521 +0400
Modify: 2010-04-13 10:17:58.119477521 +0400
Change: 2010-04-13 10:17:58.119477521 +0400
stat 610845  0,00s user 0,00s system 75% cpu 0,005 total
cy6ergn0m@cgmachine /e4/sandbox/heap $


I know that filesystems is not targeted for this usecase, but inodes
limit looks strange.. why they are can't be allocated dinamically? Can I
enlarge this limit on the fly?

 

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux