問題タブ [swapfile]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1464 参照

java - Java Swing アプリケーションをスワップ/ページ ファイルから除外するにはどうすればよいですか?

この Java Swing アプリには興味深い使用パターンがあります。常に使用されるわけではありませんが、使用される場合は、すぐに使用できることが不可欠です。そして、私がすぐに言うときは、ユーザーがショートカットを押してフォアグラウンドに持ってくるとすぐに、ユーザー入力の準備ができている必要があることを意味します.

問題は、Windows (および一般的な OS) がアイドル状態のアプリケーションをスワップに入れる傾向があることです。そして、典型的な IDE を搭載したシステムでは、アプリケーション ウィンドウがフォアグラウンドになると、JVM が再びメモリにロードされたり、Swing がウィンドウを再描画したりするのに数秒かかります。アプリケーションをメモリに保持します。

私は次のことを試しました:

  1. -Xms JVM オプションで遊んでいます。これはスワップではあまり役に立ちませんが、ある程度は役に立ちますが、測定が難しく、一貫性がありません (つまり、ほとんどの場合失敗します)。
  2. アプリ内で一定の間隔で何かを実行するタスクを実行します (データを調べたり、メインの JPanel を再描画したりするなど)。これはまったく役に立たないようです。しかし、おそらく私は何かを修正することを考えていませんでした。
  3. スワップ ファイルを完全にオフにします。これは役に立ちますが、すべてのセットアップに推奨されるものではないことは明らかであり、ユーザーがこれを行うことを本当に気にする (または期待する) ことはできません。

どんなアイデアにも感謝します。アプリケーションはマルチプラットフォームですが、焦点は Windows にあり、必要に応じて別の OS で別のことをしても問題ありません。私は、可能な限り OS をうまく使いこなしたいと思っていますが、必要に応じて乱暴にプレイすることもできます。私の考えでは、OS はおそらくアプリケーションがその設定を伝達する方法を提供していませんが、アプリケーションの動作を変更して、そのアプリケーションがスワップに入れるのに適した候補ではないことを OS が判断できるようにする方法が必要です。

編集: オプション 2 を使用して、この問題についてある程度の進展がありました。1 時間に 1 回起動し、基本的に JFrame を前面に表示する TimerTask を作成しました。つまり、jFrame.setVisible(true) と jFrame.toFront() を実行します。 . これにより、メイン ウィンドウの応答性が維持されます。ただし、アプリケーションの別の部分にアクセスする必要があるとすぐに、その恐ろしい一時停止が再び発生します。OSはおそらくアクセスされたページのみをメモリに保持するため、これは理にかなっています。ユーザーの前でアプリケーション ウィンドウをフラッシュせずに、アプリケーション固有のオブジェクトを知る必要なく (アプリケーションが変更されるたびにこのコードを更新したくない)、コンパイラがそれを決定することなく、JVM のすべてのページにアクセスする方法が必要です。アクセス操作はノーオペレーションでスキップされます。

0 投票する
2 に答える
2973 参照

digital-ocean - CoreOS クラウド構成でコマンドを実行します (例: スワップを追加する)

cloud-config標準ファイルとは異なり、runcmdCoreOScloud-configファイルにはオプションがありません。現在、次を my に追加して、CoreOS マシンでスワップを有効にしていますcloud-config

次に、CoreOS イメージを初期化した後、マシンに ssh して実行する必要があります。

スワップが有効になる前 (例: で証明top)。

ファイル自体で後者のコマンドを実行できるはずですが、フィールドcloud-configなしでそのようなコマンドを実行する方法がわかりません。おそらくこれは、ユニットを編集するか、別のユニットを追加することで実行できますが、その方法はよくわかりません. runmcdcloud-configswap.serviceunit

したがって、2 つの質問が残ります。(1) これは可能ですか、それとも最後のコマンドを手動で実行する必要があるのでしょうか。(2) 前者の場合、どのように?

0 投票する
0 に答える
206 参照

memory-mapping - ファイル マップ メモリ (拡張スワップ領域)?

大量の画像を処理するために使用されるため(〜50k x 50k x 1000 -> 2.5テラピクセル)、信じられないほど大量のメモリを消費する可能性のある画像処理ツールのセットがあります。可能な限りディスク上に保存し、可能な場合は個々のスライス (2.5 ギガピクセルまで) を処理していますが、うまくいかない場合もあります。

私ができるようにしたいのは、必要に応じてディスクに書き込むことができるメモリのチャンクを用意することです。これはスワップ領域の背後にある基本的な考え方ですが、ルート/管理者アクセスやセットアップの再起動は必要ありません。このスワップ領域は、プロセスと指定したメモリに固有のものです。

これを行う 1 つの方法は、メモリ マップト ファイルを使用することです。ただし、これにはいくつかの欠点があると思います。メモリ マップト ファイルが機能する可能性はありますが、これらの誤解を修正する必要があるだけかもしれません。メモリマッピングが実際にどのように機能するか教えてください (できれば Windows と Linux で)。

  1. 可能な場合、メモリ マップト ファイルはディスクに同期しようとしますか? RAM の目的で必要な場合を除き、絶対に同期しないでください (msync / FlushViewOfFile を呼び出すことはありません)。

  2. 最初にページ サイズのデータ​​のチャンクのみをメモリ マップ領域に書き込んだ場合、基になるファイルが読み取られることはありますか? Linux の場合: 基になるファイルは、目的のサイズに ftruncate-ing で作成されたスパース ファイルにすることができますか?

  3. Linux の場合: コピー オン ライトではないプライベートなメモリ マップを取得する方法はありますか?

  4. メモリ保護 (mprotect / VirtualProtect) を変更すると、データが同期されますか?

0 投票する
2 に答える
11320 参照

linux - Linuxにはページファイルがありますか?

Linux がページとページング メカニズムを使用している場所をいくつか見つけましたが、このファイルがどこにあるのか、どのように構成するのかはわかりませんでした。

私が見つけたすべての情報は、Linux スワップ ファイル/パーティションに関するものです。ページングとスワッピングには違いがあります。

ページングは​​、ページ (データの一部を含む小さなフレーム - 通常は 4 KB ですが、OS によって異なる場合があります) をメイン メモリからバックベンド ストレージに移動します。これは、オペレーティング システムの通常の機能として常に発生します。スワッピングはプロセス全体をストレージに移動し、システムがメモリに負荷をかけている場合、または Windows 8 で新しいアプリケーションが休止状態にある場合に発生します。

Linux はどちらの場合もスワップ ファイル/パーティションを使用しますか? その場合、現在ページアウトされているページ数を確認するにはどうすればよいですか? この情報は、vmstat、free、または swapon コマンドにはありません (または、表示されません)。

または、ページングに使用される別のファイルがありますか? もしそうなら、どうすればそれを設定できますか(そしてその使用法を監視できますか)?

それとも、Linux はページングをまったく使用していないのに誤解されたのでしょうか?

回答が Red Hat Enterprise Linux バージョン 6 と 7 の両方に固有のものであれば幸いですが、すべての Linux に関する一般的な回答も適切です。

前もって感謝します。

0 投票する
2 に答える
247 参照

systemd - swapon の Systemd ユニット ファイルが起動時に実行されない

swapon を実行する systemd ユニット ファイルがありますが、有効にしても起動ごとに実行されないようです。

私の内容は次のswapon.serviceとおりです。

これにより、オプションでファイルが作成され、まだ行われていない場合はオプションでスワップファイルになり、swapon が実行されます。有効になっていますが、起動時に実行されません。私は手動で実行する必要がsudo systemctl start swaponあります。

ブート時に実行するにはどうすればよいですか?

0 投票する
1 に答える
298 参照

makefile - スワップファイルを作成してもグラフツールをコンパイルできない

4GB RAM を搭載したラップトップにグラフ ツールをインストールしようとしています。RAM が十分でないことに気付いたので、こちらの手順を使用してサイズ 4GB のスワップ ファイルを作成しました。ただし、次のエラーが引き続き発生しますsudo make

問題を理解できません。スワップファイルでメモリを使用するようにシステムに指示する必要がある特定の方法はありますか?

前もって感謝します。

0 投票する
1 に答える
2570 参照

amazon-web-services - AWS Elastic Beanstalk で Linux スワップスペースを設定できますか?

AWS Elastic Beanstalk 環境用に Linux スワップスペースを設定できますか?

コンソールにそのオプションが表示されません。/proc/meminfo私の環境で実行中のインスタンスを見るとMemAvailable、非常に高いInactive値があるにもかかわらず、非常に低く見えます。ページアウトしても害がなく、t2.nano使用している上の限られた物理メモリの重要な部分を解放する、いくつかの休止中のバックグラウンド プロセスがあると思われます。

0 投票する
0 に答える
58 参照

ram - Windows 上の仮想メモリ

巨大な RAM サイズを使用するプログラムを開発しています。残念ながら減らす方法はありません。Linux では RAM が少ない場合、スワップ ファイルを生成してシステムにマウントすることで問題を解決できますが、Windows ではどうすればそれを行うことができますか、または RAM のような一時ファイルを使用できる API(c/c++) はありますか?