Я запускаю Windows 10 Pro, версию 10.0.17134, включил Windows Subsystem для Linux и установил приложение Ubuntu от Microsoft Store. Это работало в течение нескольких месяцев без проблем.
Сегодня я хотел сделать другое обновление Системы Ubuntu, но я получил следующую ошибку:
# apt-get update
FATAL -> Failed to fork.
После поиска этой ошибки единственной проблемой, которую я видел, было недостаточно свободной памяти, но если я смотрю на свою память, мне все еще оставили почти 22 ГБ памяти:
# cat /proc/meminfo
MemTotal: 33341028 kB
MemFree: 21641608 kB
Buffers: 34032 kB
Cached: 188576 kB
SwapCached: 0 kB
Active: 167556 kB
Inactive: 157876 kB
Active(anon): 103104 kB
Inactive(anon): 17440 kB
Active(file): 64452 kB
Inactive(file): 140436 kB
Unevictable: 0 kB
Mlocked: 0 kB
SwapTotal: 60885884 kB
SwapFree: 60885884 kB
Dirty: 0 kB
Writeback: 0 kB
AnonPages: 102824 kB
Mapped: 71404 kB
Shmem: 17720 kB
Slab: 13868 kB
SReclaimable: 6744 kB
SUnreclaim: 7124 kB
KernelStack: 2848 kB
PageTables: 2524 kB
NFS_Unstable: 0 kB
Bounce: 0 kB
WritebackTmp: 0 kB
CommitLimit: 515524 kB
Committed_AS: 3450064 kB
VmallocTotal: 122880 kB
VmallocUsed: 21296 kB
VmallocChunk: 66044 kB
HardwareCorrupted: 0 kB
AnonHugePages: 2048 kB
HugePages_Total: 0
HugePages_Free: 0
HugePages_Rsvd: 0
HugePages_Surp: 0
Hugepagesize: 2048 kB
DirectMap4k: 12280 kB
DirectMap4M: 897024 kB
ИЛИ
# free -mh
total used free shared buff/cache available
Mem: 31G 10G 20G 17M 230M 21G
Swap: 58G 4.8M 58G
Кто-либо знает то, чем могла быть проблема или каково возможное решение могло быть?
Спасибо!
root@somthing# ulimit -a
core file size (blocks, -c) 0
data seg size (kbytes, -d) unlimited
scheduling priority (-e) 40
file size (blocks, -f) unlimited
pending signals (-i) 8041
max locked memory (kbytes, -l) 64
max memory size (kbytes, -m) unlimited
open files (-n) 1024
pipe size (512 bytes, -p) 8
POSIX message queues (bytes, -q) 819200
real-time priority (-r) 0
stack size (kbytes, -s) 8192
cpu time (seconds, -t) unlimited
max user processes (-u) 8041
virtual memory (kbytes, -v) unlimited
file locks (-x) unlimited
root@something# ps -ef
UID PID PPID C STIME TTY TIME CMD
root 1 0 0 16:40 ? 00:00:00 /init ro
root 3 1 0 16:40 tty1 00:00:00 /init ro
kevinho+ 4 3 0 16:40 tty1 00:00:00 -bash
root 26 4 0 16:43 tty1 00:00:00 sudo su
root 27 26 0 16:43 tty1 00:00:00 su
root 28 27 0 16:43 tty1 00:00:00 bash
root 49 28 0 17:03 tty1 00:00:00 ps -ef
root@something# lsof | wc -l
166
Посмотрите файл на pastebin: https://pastebin.com/zbjLbkGd
Спасибо за всю Вашу справку и вход, но еще после некоторого поиска в процессы на моем собственном компьютере я нашел, что это было что-то еще.
Режим Trusted Applications Kaspersky Total Security application блокировал способные двоичные файлы и других для выполнения. После того, как я отключил тот режим, все работает, поэтому если у Вас когда-нибудь есть что-то вроде этого в Вашем Windows Subsystem для Linux, Вы лучше проверяете свою основу Хоста IPS (Система предотвращения проникновений) или другой вид вредоносного программного обеспечения/вирусного сканера.
С уважением
Digihash
Не имея никакого "Windows Subsystem для Linux" опыт, я могу только сделать вывод 'отказавший для разветвления'
Это может быть (когда Вы отладили), из-за памяти, но также и слишком многих процессов, открытых файлов или других.
это - предел 'программного обеспечения', которым управляет ulimit. Используйте ulimit-a для наблюдения всех макс. значений.
попробуйте PS-ef, чтобы проверить, есть ли у Вас (слишком) много выполнений процессов. lsof может сказать Вам количество открытых файлов.
Кроме того, что "подсистема Windows для Linux" не лучше, чем большинство других продуктов MS, быстрая сессия Google поднимает это:
Обычно это сообщение указывает, что способный процесс исчерпывает память. Это, на которое virtualmin снижается также, является хорошим знаком, что целая система кончается. Скорее всего, база данных отказала. Можно искать из сообщений памяти в/var/log/syslog для подтверждения этого.
Первая вещь, которую я сделал бы (если Вы поэтому уже не сделали), добавляет Файл подкачки к серверу.
https://www.digitalocean.com/community/questions/etc-cron-daily-apt-fatal-failed-to-fork
Это - старый поток, и некоторые ответы в комментариях помогли мне исправить this.@Frank, упомянул корректную кавычку от другого форума. Я должен был создать Файл подкачки для ошибки уйти и вещи работать гладко. Я следовал этому руководству от DigitalOcean: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04