2017-04-03 2 views
0

私はCプログラムで作業しています(私は簡単にJavaで書き直すことができます)、スムーズにスムーズに実行できるRAMを増やすためにスワップを使用すると思いました。しかし、私はスワップファイル/パーティションを呼び出す方法を知らない。私はCやJavaでそれを行うことができますか?そして、もし私がスワップファイルを作成したいのであれば、インストール上でユーザーに尋ねることはできますか?CまたはJavaプログラミングでスワップファイルを使用する

+3

何ですか?これは、OS仮想メモリサブシステムの一部です。それは 'すでにオン'です。それはユーザーコードに対して透過的です。 – ThingyWotsit

+0

@ThingyWotsitはい、システムのRAMがいっぱいの場合にのみオンになっていますが、デフォルトで有効にする方法があるかどうか疑問に思っていました – Strule

+0

Javaでは、JVMに割り当てられたメモリを増やすために引数を渡します。http: /stackoverflow.com/questions/1565388/increase-heap-size-in-java –

答えて

3

しかし、私はスワップファイル/パーティションを呼び出す方法がわかりません。私はCやJavaでそれを行うことができますか?

CおよびJavaプログラムは外部システムコマンドを実行でき、Javaの場合はJNI経由でシステムコールを行うことができるので、原則としてこれを行うことができます。しかし、この種のものは必ず特権を必要とするため、通常は一般ユーザーの権限では行えません。

スワップファイルを作成する場合は、インストール時にユーザーに質問することはできますか?

原則として、そうすることができます。プログラムがシステム管理者によってインストールされている場合、肯定的な応答に対応するのに十分な特権を持つことに頼ることすらできます。

しかし、そうしないでください。これはシステム管理者のドメインと責任であり、プログラムのインストーラがシステムの仮想メモリ構成を試したり、提供したりするのを歓迎します。さらに、スワップパーティションを作成するのに十分な未割り当てディスクスペースと、スワップファイル用に十分な空き領域(おそらくは連続したディスクスペース)が必要であるため、インストーラがそのようなオファーを受け入れることができればうまくいくかどうかは疑問です。

代わりに、文書プログラムの最小および理想的なメモリ要件。インストール時に、システムがこれらの要件を満たしているかどうかを確認することはできますが、ソフトウェアプロバイダとしての責任はそこで終わります。これは、あなたの責任を超えて妥当または歓迎される領域ではありません。

関連する問題