問題タブ [memory-consumption]

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 に答える
10586 参照

python - Linux での Python のメモリ消費: 物理メモリと仮想メモリは増加していますが、ヒープ サイズは同じままです。

私は、Python で書かれたある種のシステム サービス (実際には単なるログ パーサーです) に取り組んでいます。このプログラムは、長期間にわたって継続的に動作するはずです (できれば、数日から数週間、障害や再起動の必要がないことを意味します)。そのため、メモリ消費が気になります。

さまざまなサイトからのプロセス メモリ使用量に関するさまざまな情報を 1 つの単純な関数にまとめました。

この関数は、長時間実行するプロセスのメモリ消費のダイナミクスを研究するために使用されていますが、その動作はまだ説明できません。この 20 分間で、物理メモリと仮想メモリが 11% と 1% 増加しているのに対し、オブジェクトのヒープ サイズと合計量は変化していないことがわかります。

UPD:この時点で、プロセスはほぼ 15 時間機能しています。ヒープは同じですが、物理メモリが 6 倍に増加し、仮想メモリが 50% 増加しました。曲線は、午前 3 時の奇妙な外れ値を除いて、線形のように見えます。

時間 オブジェクト ヒープ PhM VM

19:04:19 31424 3928 5460 143732

19:04:29 30582 3704 10276 158240

19:04:39 30582 3704 10372 157772

19:04:50 30582 3709 10372 157772

19:05:00 30582 3704 10372 157772

(...)

19:25:00 30583 3704 11524 159900

09:53:23 30581 3704 62380 210756

私のプロセスのアドレス空間で何が起こっているのだろうか。ヒープのサイズが一定であることは、すべての動的オブジェクトが正しく割り当て解除されていることを示しています。しかし、メモリ消費量の増加が、長期的にはこの命にかかわるプロセスの持続可能性に影響を与えることに疑いの余地はありません。

ここに画像の説明を入力

誰でもこの問題を明確にしてもらえますか? ありがとうございました。

(RHEL 6.4、カーネル 2.6.32-358、Python 2.6.6 を使用)

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

android - Message または Interface ベースのアプローチを使用して List を返すAsyncTaskから?

AsyncTaskから呼び出し元にデータを返す方法には複数のアプローチがあることを認識していますActivityMessageのオブジェクトを使用するHandlerか、同じインターフェイスを実装する (データを渡すメソッドを使用する)両方でInterface-basedアプローチを使用できます。ActivityAsyncTask

そして、publicメソッドを呼び出しActivityてに渡し、フィールドリストに結果データを入力Activityするなど、他のアプローチもあります。または、呼び出し元からのオーバーライドなど。AsyncTaskActivity'sonPostExecuteActivity

さて、メモリ消費量と実行速度の観点から、どのアプローチを使用するのが最適ですか?

注: SO の専門家の評価を取ると、評価が 20,000 以上の人が、MessageまたはInterface-basedアプローチのいずれかを提案していることがわかりました。経験は少ないが 10,000 以上のクレジットを持っている人は、私が言及した 3 番目のソリューションのような別のソリューションを提案しています。彼らのソリューションがどれほど「重い」かについて誰も言及していないため、それが私の混乱の根源です。

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

c++ - RAM グローバル変数の使用量を確認するにはどうすればよいですか?

マイクロコントローラ プログラミングのコンテキストでの C/C++ では、グローバル変数が使用するメモリの量を確認するにはどうすればよいですか (新しいデータまたは malloc で割り当てられたデータはカウントされません)。

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

linux - Linux サーバーでのパフォーマンス テストの側面

ウイルス対策製品の有無にかかわらず、Linux サーバーでパフォーマンス テストを実行したいと考えています。Linux マシンでパフォーマンス テストを行うためのテスト計画を準備する際に、さまざまな側面を理解したい。CPU 使用率、メモリ使用率、ディスク IO がその一部であることを理解しています。マシンの稼働を維持するためにバックグラウンドで継続的に実行する必要があるものと、収集する必要があるパラメーター。

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

algorithm - コスト マトリックスなしで割り当ての問題を解決しますか?

2 つの画像のピクセル間の割り当て問題を解決する必要があります。つまり、右の画像の特定のピクセルに最もよく一致する左の画像のピクセルを見つけたいと考えています。ただし、ピクセルごとではなく、すべての割り当ての全体的なコストを考慮してください。

通常、そのためのコスト マトリックスを作成し、各列と行に少なくとも 1 つのゼロが得られるまで、行と列を基準に下げます。これらのゼロは最適な割り当てです。ただし、1920 * 1080 ピクセルの画像のコスト マトリックスは、メモリ内で約 4 TB になるため、処理できません。

より少ないスペースを使用して割り当ての問題を解決する代替手段はありますか?

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

.net - Process.GetProcesses でのメモリ リーク

アプリケーションでメモリ リークを発見しました。Process.GetProcesses を呼び出すたびに、アプリケーションのメモリ使用量が増加し、アプリケーションがシャットダウンされるまで解放されません。約 10 秒ごとにこれを呼び出す必要があるため、アプリケーションがメモリ不足でクラッシュするまでの数時間しか実行できません。私はこのサイトでこの記事を見つけましたが、これまでに多くの解決策が得られたようには見えません. Process.GetProcessesByName(String, String) メモリ リーク

これが私のコードです:

誰かが他の質問で次のように述べました:

警告: これは非常に汚いクイックフィックスですが、リフレクションを使用してそれらを無効にしてください。

プライベート変数へのアクセス: リフレクションを使用して C# のプライベート読み取り専用フィールドを変更できますか?

静的クラスの使用例: リフレクションを使用して、オブジェクトの初期化前に静的変数値を設定しますか? (C#)

typeof(Process).GetFields(BindingFlags.Static | BindingFlags.NonPublic) のバリエーションを使用して、フィールドなどを見つけることができます。

Process の動作は明らかに正しくないため、迅速な修正が必要だと思います。

それが何を意味するのかよくわかりませんが、誰かがこの問題を解決する方法を知っていますか?

ありがとうございました