В Thu, 8 Jun 2023 04:21:03 +0400
sergio <ser...@outerface.net> пишет:

> Хочу сделать странное: скомпилировать андроед.
> Попробовал в чруте -- там не дают, хотят сделать clone(2).
> Тогда решил сразу в qemu. Но там говорят "too many open files".
> В интырнетах пишут, что дело в ulimit, ну я прописал в 
> /etc/security/limits.conf от души:
> 
> * hard nofile 1024000
> * soft nofile 1024000

А что говорит /proc/sys/fs/file-max
(ну и соответственно sysctl fs.file-max?



> 
> бутнулся, `ulimit -n` стал выдавать эти 1024000, но ошибка никуда не 
> пропала.
> 
> Я даже сделал тест:
> 
> ```
> #!/usr/bin/perl
> 
> my ($N) = @ARGV;
> my @fd;
> foreach ( 1 .. $N ) {
>       open($fd[$_], '<', '/tmp/test') or die "Can't open: $!";
> }
> print "Done\n";
> sleep
> ```
> 
> но он отлично работает в qemu и открывает столько файлов, сколько и
> даёт ulimit, хоть 1M и это видно в /proc
> 
> Сдаётся мне дело не в ulimit, а может, в virtiofs?
> 
> chroot и qemu запускаются на одном и том же корне, debian sid, 
> скопированном с хост-системы.
> 

Ответить