タグ付けされた質問 「swap」

スワップ領域は、コンピュータのメモリがいっぱいになったときにオーバーフローとして機能するハードディスクの領域です。非アクティブなアプリケーションが使用するメモリは、他のアプリケーションやアクティブなファイル用のディスクキャッシュのためのスペースを空けるために、部分的にディスクに書き込まれます。

1
Linuxのプロセスごとのスワッピングを設定するにはどうすればよいですか?
/proc/sys/vm/swappinessいいですが、私はのようなプロセスごとのノブが欲しいです/proc/$PID/oom_adj。そのため、特定のプロセスが他のプロセスよりもページをスワップアウトする可能性が低くなります。とは異なりmemlock()、これはプログラムがスワップアウトされるのを防ぎません。そしてのようniceに、ユーザーはデフォルトでプログラムの可能性を低くすることはできませんが、スワップされる可能性が高くなります。これを呼ばなければならなかったと思う/proc/$PID/swappiness_adj。
29 linux  process  swap 

2
Docker —警告:スワップ制限サポートなし
Ubuntu 16.04でDocker(1.9.1)を実行しています。私は実行するとdocker info、出力の最後の行は述べていますWARNING: No swap limit support。 INFO[0781] GET /v1.21/info Containers: 0 Images: 0 Server Version: 1.9.1 Storage Driver: aufs Root Dir: /var/lib/docker/aufs Backing Filesystem: extfs Dirs: 0 Dirperm1 Supported: true Execution Driver: native-0.2 Logging Driver: json-file Kernel Version: 4.4.0-62-generic Operating System: Ubuntu 16.04.1 LTS (containerized) CPUs: 2 Total Memory: …
29 swap  docker 

5
Linuxにスワップをメモリに読み込ませる
Linuxカーネルは、16 GBの物理メモリのほとんどを使用するアプリケーションを実行すると、メモリからほとんどのページをスワップアウトします。アプリケーションの終了後、すべてのアクション(コマンドの入力、ワークスペースの切り替え、新しいWebページのオープンなど)が完了するまでに非常に時間がかかります。これは、関連するページを最初にスワップから読み込む必要があるためです。 Linuxカーネルに、各アプリケーションを手動でタッチ(および待機)せずに、ページをスワップから物理メモリにコピーするように指示する方法はありますか?私は多くのアプリケーションを実行しているので、待機は常に苦痛です。 swapoff -a && swapon -aシステムの応答性をよくするためによく使用しますが、これによりページのスワップがクリアされるため、次回スクリプトを実行するときにページを再度書き込む必要があります。 おそらくsysfsを使用して、スワップからすべてのページを読み取るようカーネルに指示するカーネルインターフェイスはありますか? 編集:私は確かにすべてのスワップをswapcachedにする方法を探しています。(デロバートに感謝!) [ PSserverfault.com/questions/153946/…およびserverfault.com/questions/100448/…は関連トピックですが、Linuxカーネルがスワップをクリアせずにスワップからメモリにページをコピーする方法についての質問には対応していません。
28 linux  kernel  memory  swap  sysfs 

3
複数のスワップファイルの目的は何ですか
ほとんどの(すべてではないにしても)Linuxディストリビューションのインストール中に、ハードドライブはデフォルトでスワップパーティションを含むようにパーティション分割されます。 この動作を変更することは可能です swapon -p priority マニュアルページによると、優先度は次のとおりです。 PRIORITY Each swap area has a priority, either high or low. The default priority is low. Within the low-priority areas, newer areas are even lower priority than older areas. All priorities set with swapflags are high-priority, higher than default. They may have any non-negative …
28 swap 

2
これはLinuxのページングの動作方法ですか?
Linuxシステムがページングに近づくと(つまり、私の場合、16GBのRAMがほぼいっぱいになり、16GBのスワップが完全に空になります)、新しいプロセスXがシステムが完全にロックするメモリを割り当てようとします。つまり、不均衡な量のページ(Xのメモリ割り当て要求の合計サイズと速度)がスワップアウトされるまでです。guiが完全に応答しなくなるだけでなく、sshdなどの基本的なサービスも完全にブロックされることに注意してください。 これらは2つのコード(明らかに粗雑な)であり、この動作をより「科学的な」方法でトリガーするために使用します。最初のコマンドは、コマンドラインから2つの数値x、yを取得し、合計x以上のバイトが割り当てられるまで、yバイトの複数のチャンクを割り当てて初期化します。そして、ただ無期限に眠ります。これは、システムをページングの寸前にするために使用されます。 #include <stdlib.h> #include <stdio.h> #include <string.h> #include <unistd.h> int main(int argc, char** argv) { long int max = -1; int mb = 0; long int size = 0; long int total = 0; char* buffer; if(argc > 1) { max = atol(argv[1]); size = atol(argv[2]); } printf("Max: %lu …

2
強制スワップでOOM-killerをトリガーすることは可能ですか?
システムが非アクティブなページを先取りしてスワップアウトすることは可能ですか(vm.swappiness)、しかし、システムが(メモリ不足ではなく)RAMを使い果たし、スワップを強制されるときにoom-killerを呼び出しますか? 最終的な目標は、主要なページフォールトが原因でディスクのスラッシングが開始されたときにシステムが停止しないようにすることですが、それでも非アクティブなページはスワップアウトされます。 もう1つの要望は、システムがoom-killerトリガーの前に強制的に使用するスワップメモリ​​の量を設定することです。このようにして、システムはあまり遠くに行かない限り、ほんの少しスワップに浸ることができます。または、すべてのRAMを使用する前にoom-killerをトリガーするようにこのようなしきい値を設定して、ファイルシステムキャッシュの領域を常に確保することができます(したがって、ディスクのスラッシングを回避できます)。 これは難しいことではないようです。X ramが使用/無料になったときにシステムがトリガーするようにoom-killerに伝えることができるようです。しかし、これが私が尋ねている理由です。知りません。 明確にするために、スワップをオフにしたり、vm.swappinessパラメーターを調整したりするつもりはありません。

1
スワップパーティションをテストする方法
私はヘッドレスサーバーでランダムなセグメンテーションフォールトを診断しようとしていますが、奇妙なことの1つは、メモリプレッシャーの下でのみ発生するようで、スワップサイズが0を超えないことです。 マシンを強制的に交換して、正常に動作していることを確認するにはどうすればよいですか? orca ~ # free total used free shared buffers cached Mem: 1551140 1472392 78748 0 333920 1046368 -/+ buffers/cache: 92104 1459036 Swap: 1060280 0 1060280 orca ~ # swapon -s Filename Type Size Used Priority /dev/sdb2 partition 1060280 0 -1
23 linux  swap 

1
LVMでパーティションを交換しますか?
スワップパーティションを論理ボリュームグループに入れると、欠点(たとえば、パフォーマンス)が生じるのか、それとも別のプライマリ/論理パーティションとして持つのと「まったく同じ」のだろうか? 必要に応じて簡単にサイズを変更できるという事実は気に入っていますが、考えられる欠点についてはわかりません。 アプリケーションの場合:CentOS 7 Webserver。

6
Linuxは「RAMを使い果たす」ことができますか?
ホストされたVPSがRAMを使いすぎたために予期せずプロセスを強制終了することについて不満を述べている人々のウェブ上のいくつかの投稿を見ました。 これはどのように可能ですか?私は、すべての最新のOSが物理RAMを超えるものにディスクスワップを使用するだけで「無限RAM」を提供すると考えました。これは正しいです? プロセスが「RAM不足により強制終了」された場合、何が起こる可能性がありますか?

4
実行中のすべてのアプリケーションをスワップスペースからRAMに再ロードする方法
デスクトップでメモリが不足してスワップが頻繁に発生する場合、RAMを浪費しているアプリケーションを解放または強制終了します。しかし、その後、すべてのデスクトップ/アプリケーションがスワップされ、ひどく遅くなります。デスクトップ/アプリケーションを「アンスワップ」する方法を知っていますか(スワップスペースからRAMにリロードします)?
20 linux  memory  swap  desktop 

1
tmpfsのサイズを設定するものは何ですか?満杯になるとどうなりますか?
何のサイズを設定しtmpfsますか?(私のマシンではにあります/dev/shm)のエントリは表示できます/etc/fstabが、サイズの表記はありません。で確認するとdf -h、システムにインストールされている物理メモリの半分のサイズのようです。これはデフォルトの動作ですか? また、満杯になるとどうなりますか?他の実行中のプログラムを動的に強制的に拡張しswapますか?んtmpfs自体はに移動しswap、パーティション? 最後に、メモリtmpfsやアプリケーションを優先するのは何ですか?つまり、tmpfs十分にいっぱい(物理メモリの40%など)で、物理メモリの70%を必要とするプログラムがある場合、どれが優先されますか?
20 linux  swap  tmpfs 

2
Linux:使用される合計スワップ=プロセスで使用されるスワップ+?
だから、私はスワップ使用率が高いシステムでスワップ使用がどこから来るのかについていくつかの調査をしようとしています: # free total used free shared buffers cached Mem: 515324 508800 6524 0 4852 27576 -/+ buffers/cache: 476372 38952 Swap: 983032 503328 479704 プロセスごとに使用されるスワップを追加する: # for proc in /proc/*; do cat $proc/smaps 2>/dev/null | awk '/Swap/{swap+=$2}END{print swap "\t'`readlink $proc/exe`'"}'; done | sort -n | awk '{total+=$1}/[0-9]/;END{print total "\tTotal"}' 0 …
17 linux  memory  swap 

3
Linuxで暗号化されたスワップファイルを設定するにはどうすればよいですか?
2017警告!受け入れられた答えは機能しているように見えますが、最近のカーネルでは、システムがスワッピングを開始するとすぐにハングすることがわかりました。暗号化されたスワップファイルを使用する場合は、実際に正しくスワップされることを確認してください。明らかな理由もなくシステムがロックし続ける理由を理解するのに長い時間がかかりました。正しく機能する暗号化されたスワップパーティションの使用に戻りました。 Linuxで(パーティションではなく)暗号化されたスワップファイルを設定するにはどうすればよいですか?それも可能ですか?私が見つけたすべてのガイドは、暗号化されたスワップパーティションについて説明していますが、スワップパーティションはなく、ディスクのパーティションを再作成する必要はありません。 ディスクへのサスペンドのサポートは必要ないので、ブートごとにランダムキーを使用したいと思います。 既にデータにTrueCryptファイルホストボリュームを使用していますが、そのボリュームにスワップを入れたくありません。より良い解決策があれば、スワップファイルにTrueCryptを使用するつもりはありません。 それが重要な場合、デフォルトのカーネルでArch Linuxを使用しています。

2
スワップの内容を確認する方法は?
私のシステムでは、ある程度のスワップが使用されています。 undefine@uml:~$ free total used free shared buffers cached Mem: 16109684 15848264 261420 633496 48668 6096984 -/+ buffers/cache: 9702612 6407072 Swap: 15622140 604 15621536 スワップの内容を確認する方法は? 私はプロセスを介してそれをチェックしようとしますが、システム上のすべてのpidのVmSwapは0です: undefine@uml:~$ awk '/VmSwap/ {print $2}' /proc/*/status |uniq 0 スワップには他に何がありますか?私はtmpfsについて考えました-しかし、私はtmpfs-es上のすべてのファイルを再読み込みします-そしてそれはスワップサイズをフラッシュしません。
15 linux  swap 

2
Mac OS Xで最大スワップスペースを増やすにはどうすればよいですか?
Mac OS X Yosemite 10.10.5では、128 GBのメモリ(Cで記述されたコマンドラインプログラム)を割り当てて使用する必要がある計算を実行しようとすると、カーネルは極端な偏見でプロセスを強制終了します。このコンソールログエントリは、1つのインスタンスの例です。 9/25/15 7:08:40.000 PMカーネル[0]:低スワップ:PID 6202(huffgrp)の強制終了 64 GBのメモリを割り当てて使用すると、計算は正常に機能し、妥当な時間内に動作します。Macのハードドライブには32 GBのRAMとbeaucoupスペースがあります。8 GBのRAMを搭載した別のMacでもこれを試してみました。64GBの計算も同様にうまく動作しますが、もちろん時間がかかりますが、128 GBの計算はカーネルによって同様に殺されます。 ところで、malloc()どれだけのスペースを要求しても、エラーが返されることはありません。カーネルは、プロセスが実際に使用するメモリが多すぎるとプロセスを強制終了します。その結果、ハードドライブへの大量のスワップが発生します。 そのため、64 GBから128 GBの間に秘密のスワップスペース制限があるようです。 私の質問は次のとおりです。より多くのスワップ領域を許可するようにカーネルを再構成するにはどうすればよいですか?有望なファイルを見つけました/System/Library/LaunchDaemons/com.apple.dynamic_pager.plistが、秘密の番号はそこにありません。のマニュアルページにdynamic_pagerは、スワップファイルの名前と場所を設定するだけであると書かれています。-S作成されたスワップファイルのサイズを設定するオプションを文書化した同じマニュアルページの古いバージョンがあります。160 GBのスワップファイルを要求してみましたが、効果はありませんでした。スワップファイルはそれぞれ1 GBのままであり、プロセスは依然としてカーネルによって強制終了されました。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.