私は一種のSMTPプロトコルに取り組んでいました.Javaで作成し、正常に実行しました。私のラップトップでは約 20 ~ 30 MB を消費していました。その後、プロトコルをインターネット上で公開することにしました。サーバー(VPS)、ドメインを購入しました。それは私に多くの費用がかかりました。しかし、そのサーバーで自分のプログラムを実行しようとしたとき、自分のプログラムが実行しているクラスごとに約 800 から 900 MB を消費していたことに非常にショックを受けました。私のプログラミングのせいかもしれないと思いました。問題から回復するために多くのことを試みましたが、できませんでした。その後、私の友人が、同じサーバーで単純な Hello ワード プログラムをテストするように勧めてきました。私は、そのプログラムでさえ合計 RAM の最大 900 MB を消費していたことに非常にショックを受けました。
それはどのような問題でしょうか?それらのサーバー、またはそれらのOSとカーネルのバージョンに問題がありますか? Linuxカーネルまたは古いLinuxカーネルを使用したJVMの問題ですか。古い JVM でも試してみましたが、役に立ちませんでした。:(
Linux の一般的なフレーバーのほとんどを試しましたが、すべての Linux フレーバーで同じように機能し、まったく同じ問題がありました。すべてのケースで巨大なメモリを消費していました。(それらはすべて Linux カーネル 2.6.xx を持っていました)
しかし、それは非常にスムーズに機能し、ラップトップで予想されるメモリを消費しました. (約 30 ~ 50 Mb)。ラップトップで Linux を使用しています。しかし、違いは、私のカーネルが 3.1.xx を超えていることです。それは問題でしょうか?私は自分のサーバーの動作に本当にがっかりしており、多くのお金を失いました. 可能な解決策を誰か教えてください。それは Linux カーネルの問題でしょうか、それとも私のプログラミングの問題でしょうか。