タグ付けされた質問 「virtual-memory」

1
Zswap、Zram、Zcacheデスクトップの使用シナリオ
Zswap、Zram、およびZcacheの使用例の違いを理解しようとしています。長く/少しゆるい言葉で書かれた質問については、事前に謝罪してください。一連のグーグルを実行しました。zramは基本的に圧縮スワップ用のブロックデバイスであり、zswapはフロントスワップAPIを使用してカーネルで圧縮することを理解しています。zswapの利点の1つは、LRUの方法でプレッシャーがかかっているときに一部のページをバッキングスワップに移動できることですが、zramはそれができません(確認してください。これが本当かどうかは不明です)。 だからここに私の質問です:1.)デスクトップユーザーとして、zcache / zswap / zram、特にzswapとzramのパフォーマンスの違いは何ですか?たとえば、メモリの断片化(過度のメモリ使用と無駄につながる種類)の方がはるかに良い/悪いですか? おまけの質問:2.)デスクトップのパフォーマンス(デスクトップの応答性、最小限の中断を伴うスワップ動作と正常なメモリ管理を含む)について、上記(zram + zswap、zram + zcacheなど)の理想的な組み合わせはありますか? *出典の引用は大歓迎です。 私はまともなLinuxユーザー(5年)であり、カーネルを含む私のシステムがどのように機能するかを本当に理解しようとしました。ただし、私はプログラマーではなく、プログラミングの非常に基本的な知識しか持っていません(3単位の大学コース)。ただし、必要に応じて技術的に対応してください。自分の時間であなたの意味を解析します。 システム仕様: Linux Mint 15 Processor:Core 2 Quad 6600 (2.4ghz) Ram: 8G linux kernel: liquorix 3.11 series Storage: 128 GB SSD, 1TB HDD 5400rpm 「ramをもっと購入」というコメントはありません。私はこのマザーボードのRAMを最大にして、予見できる将来のために$ 0のアップグレード予算を持っています。ただし、メモリを集中的に使用するプログラム(複数のブラウザーがRAMの主要なコンシューマーである)を開いたままにしたいので、妥当なパフォーマンス低下の制限内でスワップしてもかまいません。

2
なぜ最近のLinuxでは、デフォルトのスタックサイズが非常に大きい-8MB(一部のディストリビューションでは10)
たとえば、OSXでは、512k未満です。 アプリが再帰を使用せず、多くのスタック変数を割り当てないことを念頭に置いて、推奨されるサイズはありますか? 質問が広すぎて使用法に大きく依存することはわかっていますが、この膨大な数の背後に隠された/内部/システムの理由があるかどうか疑問に思っていたので、それでも質問しました。 アプリでスタックサイズを512 KiBに変更するつもりなので、私は疑問に思っていました-これはまだ巨大な数のように聞こえますが、8MiBよりはるかに小さく、プロセスの仮想メモリが大幅に減少します。多くのスレッド(I / O)があります。 私はこれが本当に害を及ぼさないことも知っています、ここでよく説明されています:pthreadのデフォルトのスタックサイズ


5
zramとswapを適切に設定する方法
新しい3.0カーネルを構成してコンパイルしています。3.0にマージされた、しばらくの間(パッチを適用することで)使用することを計画していた利点の1つはzramです。 hdd swapとzram swapの両方を設定して、zramが最初に使用され、スピルされたページのみが実際のスワップに入れられるようにすることは可能ですか?

1
カーネルページング要求を処理できませんか?
[免責事項:私はこれをここに投稿することに少し神経質でしたので、自作/改造について議論することは受け入れられるかどうかメタに尋ねました。いくつかのベテランメンバーから受け取った応答に基づいて、私は先に進んでこのスレッドを投稿しました。こちらがメタのリンクです。] 私は現在、xboxhdmとndure 3.0を使用してオリジナルのXboxを改造しようとしています。xboxhdmは小さな起動可能なLinuxディストリビューションを中心に構築されており、それでうまくいきます。そこで私はここで質問して、誰かが私に手を貸してくれるかどうかを確認すると思いました。(注:だれかが別のボードを提案する前に、xboxhdmはPCのCDから起動します。Xboxハードウェアはプロセスに完全に関与していないため、ここで質問します。) 私が使用しているPCは比較的古いものです。これは、約512 MBのRAMと2.5 GHzのプロセッサ(P IVのようです)を搭載した古いCompaqデスクトップです。マザーボードに2つのIDEポートがあるので使用しています。コンピュータの時代は問題ではないはずです。パフォーマンスに関しては-xboxhdm + ndureハックは何年も前から存在しています-このようなハードウェアで実行するように設計されています。 とにかく-プロセスのある時点で、いくつかのファイルをCDからXboxハードドライブ(Molexを搭載した標準のSeagate IDEドライブ)にコピーする必要があります。コピーの途中で、すべてが死んでしまいます... unable to handle kernel paging requestエラーが発生し、最終的にカーネルパニックが発生します。 このエラーについては何も見つからず、Xboxの改造に具体的にどのように関連しているかはわかりませんでしたが、どのような情報でRAMが不良である可能性があることがわかりました。これはまだテストできていませんが、帰宅したらすぐにMEMTESTを実行します。 私はセットアップをしていません-私は仕事中です、そしてそれは家にあります-誰かが手を貸すことに興味があるなら、私は今夜写真を撮ってそれらを投稿します。私がここで尋ねている唯一の理由は、私がまだかなり新しい* nix変換者であり、すべてがどのように機能するのかよくわからないためです。これunable to handle kernel paging requestもかなり標準的なエラーメッセージだと思います。間違っていた場合は修正してください。

1
MMAPについて
ここでMMAPに関するドキュメントを調べていて、これを使用して実装しようとしました その実装について、いくつか疑問があります。 MMAPはファイルのマッピングを提供し、物理メモリ内のその場所のポインターを返しますか、それともマッピングテーブルのアドレスを返しますか?そして、そのファイルにもスペースを割り当ててロックしますか? ファイルがメモリ内のその場所に保存されたら、munmapが呼び出されるまでファイルはそのまま残りますか? ファイルはメモリに移動されますか、それともリダイレクトとして機能する単なるマッピングテーブルであり、ファイルは実際には仮想メモリ(ディスク)にありますか? メモリに移動されたと仮定すると、他のプロセスがアドレスを持っている場合、そのスペースにアクセスしてデータを読み取ることができますか?

1
/ proc / pid / mapsの共有ライブラリマッピング
/proc/pid/maps同じライブラリのいくつかのレコードが含まれているのはなぜですか?次に例を示します。 7fae7db9f000-7fae7dc8f000 r-xp 00000000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7dc8f000-7fae7de8f000 ---p 000f0000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7de8f000-7fae7de97000 r--p 000f0000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 7fae7de97000-7fae7de99000 rw-p 000f8000 08:05 536861 /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.20 これは何を意味するのでしょうか ?

4
RHEL 6 128 TBの理論上のRAM制限はなぜですか?これはどのように決定されますか?
私はRHCSAのために勉強していて、いくつかのトレーニング資料で出くわした言葉に混乱しています: 理論的には、RHEL 6で128 TBのRAMを実行できるので、実用的な最大RAMはありませんが、それは単なる理論です。RHEL 6上のRed Hatがサポートする最大RAMは、32ビットシステムでは16 GB、64ビットシステムでは2 TBです。 128 TBの理論上の制限がどこから来ているのか誰かが説明できますか?RHEL 6が他の最大制限を明確に定義している場合、著者が理論上の制限が存在することをどのようにして知るかについて、私は混乱しています。これは64ビットアーキテクチャの理論上の制限を考慮に入れているだけですか?それともここに他の理由がありますか?
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.