リモートサーバーでbashセッションが開いているのに問題があります。 「test」ディレクトリを作成し、その中のファイルをタッチしましたtouch 1 2 3 4 5
。その後、ディレクトリをコピーしようとしましたがcp test/ test2/
中断されました。 ^Cで終了してください。ディレクトリに行ってみてくださいcp 1 2
。
その後、lsを実行しようとすると、次のエラーが発生します。
-bash: fork: Cannot allocate memory
今はまだ利用可能なメモリがあることを知っています。別の端末からログインすると、デフォルトで私のホームディレクトリが使用されます。touch 1
そしてcp 1 2
それは止まる。できますがls
...
rootとしてログインし、cp 1 2
同じディレクトリからログインしようとすると機能します。ルートアカウントに問題はありません。
多くの空きメモリ:
#free -h
total used free shared buff/cache available
Mem: 188G 87G 3.4G 1.8G 97G 3.3G
Swap: 3.9G 3.8G 140M
割り当てエラーが発生するテストのために、まだ別のSSHセッションが開いています。どうしたの?
アップデート1
端末で実行しようとしましたが、cp 1 2
まだコマンドで実行できますが、動作が停止し、top -b | grep -w bash
rootアカウントで実行されます。コマンドcp
は表示されません。
メモリ割り当ての問題を報告した他の端末は応答しますが、ls
まだ停止しますcp 1 2
。
アップデート2
問題は、共有 .bashrc の誤った設定です。
function cp() {
cp --preserve=all --no-dereference $@
}
代わりに、次のように設定する必要があります。
alias cp='cp -adR'