Windows 10 Proバージョン10.0.17134を実行しており、Linux用のWindowsサブシステムを有効にして、MicrosoftストアからUbuntuアプリをインストールしました。これは数か月間問題なく機能しています。
今日、Ubuntuシステムの別の更新を行いたかったのですが、次のエラーが表示されました。
# apt-get update
FATAL -> Failed to fork.
このエラーを検索した後、私が見つけた唯一の問題は十分な空きメモリではありませんでしたが、メモリを見ると、まだ22 GB近くのメモリが残っています。
# 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
OR
# 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
あなたのすべての助けと入力に感謝しますが、自分のコンピューターでプロセスをさらに検索した後、それは別のものであることがわかりました。
Kaspersky Total SecurityアプリケーションのTrusted Applications modeは、apt実行するバイナリなど。このモードを無効にした後、すべてが機能するので、LinuxのWindowsサブシステムにこのようなものがある場合は、ホストベースIPS(侵入防止システム)またはその他の種類のマルウェア/ウイルスを確認することをお勧めしますスキャナー。
敬具
デジハッシュ
「LinuxのWindowsサブシステム」は他のほとんどのMS製品よりも優れているという事実は別として、簡単なGoogleセッションでは次のことがわかります。
通常、このメッセージは、aptプロセスのメモリが不足していることを示しています。 virtualminがダウンしていることは、システム全体が不足していることを示す良い兆候です。ほとんどの場合、データベースがクラッシュしています。これを確認するには、/ var/log/syslogでメモリ不足のメッセージを探します。
最初に行うことは(まだ行っていない場合)、サーバーにSWAPファイルを追加することです。
https://www.digitalocean.com/community/questions/etc-cron-daily-apt-fatal-failed-to-fork
「Windowsサブシステムfor Linux」の経験がないため、「フォークに失敗しました」のみを一般化できます
これは(デバッグしたように)メモリが原因である可能性がありますが、プロセスが多すぎる、ファイルを開いているなどが原因です。
これは、ulimitによって制御される「ソフトウェア」の制限です。 ulimit -aを使用して、すべての最大値を表示します。
ps -efを試して、実行中のプロセスが(多すぎる)かどうかを確認します。 lsofは、開いているファイルの数を知ることができます。
それは古いスレッドであり、コメントのいくつかの答えは私がこれを修正するのに役立ちました。@フランクは別のフォーラムからの正しい引用に言及しました。エラーがなくなり、スムーズに機能するために、SWAPファイルを作成する必要がありました。 DigitalOceanからこのガイドに従いました: https://www.digitalocean.com/community/tutorials/how-to-add-swap-space-on-ubuntu-16-04