В 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, > скопированном с хост-системы. >