問題タブ [pmap]
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.
java - ヒープが安定しているときに Java で RSS リークを診断する
数時間実行する簡単なテスト プログラムを使用しています。
PS または pmap を介してプロセスを監視すると、RSS 部分が増加しますが、jvisualvm はヒープが安定していると報告します。
すべての RSS anon マッピングを合計すると、時間の経過とともに増加しています。
Centos 5.7 x64 と Sun JDK 1.6.0_31 を使用しています。
RSS は時間の経過とともに増加する必要がありますか?
memory-management - プロセスマップに関する質問
ここでは、2 つの異なる端末で同じプログラムの 2 つのインスタンスを実行しています。それらのプロセスマップは
最初のターミナルで -
第2ターミナルでは -
私の質問は -
「/lib/x86_64-linux-gnu/ld-2.13.so」このライブラリには、端末 1 と 2 に 2 つの異なるアドレス ( 00007f90f279a000 と 00007f3b0b0cb000 ) があります。このライブラリがメイン メモリに 2 回読み込まれるということですか。
a.out が単純な Hello_World.c プログラムのバイナリであると仮定します
次に、a.out のどの部分に r & w パーミッションがありますか? 簡単に言えば、ソース「0000000000601000 4K rw--- /home/vikram/a.out」のどの部分がこのセグメントに含まれていると思われますか?
anon が他のセグメントのように連続していないのはなぜですか?
What " 00007f90f2590000 2044K ----- /lib/x86_64-linux-gnu/libc-2.13.so " このセグメントには .... 読み取り、書き込み、実行権限がないため、含まれているはずです。
clojure - いつreduceを使用するか、代わりにpmapを使用するか
編集:
データは本当にこのように見えます。
1,000-00-000、GRABBUS、OCTOPUS ,, M、26-Nev-12、、05 FRENCH TOAST ROAD ,, VACANT、ZA、1867、(001)111-1011、(002)111-1000 ,,
専有情報が含まれているので、ばかげているように見せなければなりません。
これは、clojure-csvを使用してベクトルのベクトルを作成する前の状態です。
簡単にするために解析後の数値を使用しましたが、値に減らされていません。clojure-csvで解析されたデータから特定の列を選択して、より小さなcsv行を作成したいと思います。
ご迷惑をおかけしましたことをお詫び申し上げます。
編集終了:
いつreduceを使用するか、代わりにpmapを使用するかをどのように決定しますか?
少し前に、reduceについてブログにコメントがありました。具体的には、reduceは一般的に並列化できないが、map(pmap)は並列化できるというコメントがありました。
削減を使用する場合と使用しない場合で違いが生じるのはいつですか。次のような例では、違いがありますか?
ありがとうございました。
編集:
(defn reduce-csv-row "抽出するcsv-rowと列のリストを受け入れ、csv-rowを選択したリストに縮小します。" [csv-row col-nums](reduce(fn [out-csv- row col-num](let [out-val(nth csv-row col-num nil)](conj out-csv-row out-val)))[] col-nums))
linux - pmap出力を理解する
pmap -x
コマンドを使用して、Linuxx86-64上のプロセスのメモリマップを表示しようとしました。pmapの出力を見て混乱しました。特にダイナミックライブラリをマッピングするためのエントリの場合。それらには複数のエントリがあります(実際には、ほとんどすべてのエントリで4つで、一部には3つのエントリがあります)。以下は例です
各ライブラリの2行目は、ページ権限がない場合でも常に2MBのサイズになります。すべてのライブラリで、RSSは常にゼロのようです。最後の2行も同じサイズ(ベースページサイズ)と同じ権限(少数のライブラリにはrwマッピングがありません)があります。
誰かがこれについていくつかの説明がありますか?おそらく、読み取り専用保護を使用したマッピングは、ライブラリのメタデータを読み取るためにローダーによって行われ、実行可能権限を持つ部分は実際にはライブラリのコードであると感じています。私は間違っているかもしれません。
しかし、私にはその真ん中の列についての手がかりがありません。許可も使用法もありませんか?誰かがここに知恵の言葉を持っていますか?
また、匿名メモリ上にあり、モードビットが設定されていないことが報告されているページもいくつか見ました。これらは何を表していますか?
solaris - Solaris p シリーズ コマンド (pstack、pmap) の副作用を知っている人はいますか?
現在、prod の問題を調査していますが、調査によって通常の prod 環境に副作用が発生しないことを期待しているため、実行中のプログラムが短時間でも一時停止することはありますか? ありがとう
erlang - pmap をゼロから実装します。実装が遅いのはなぜですか?
私は Erlang を初めて使用するので、トレーニングのために標準関数をゼロから実装しようとしています。listモジュールから map/2 関数の並列実装を作成しようとしました。しかし、私の実装は非常に遅いです。私の実装で主な間違いがあった場合は、教えていただけますか。
そして、ここにテストの結果があります:
ご覧のとおり、0.137804秒です。対0,044136 秒。
ありがとう
binding - バインディングとpmapの相互作用は変化しますか?
binding
動的変数、、、およびを混合する際の注意をアドバイスする、やや古いブログ投稿がいくつかありますpmap
。たとえば、ここでは、次のコードスニペットを取得します。
しかし、それは私がそのコードを実行したときに起こることではありません(最初の行をに変更します(def ^:dynamic *foo* 5)
)。単純に予想されるように、(Clojure 1.4を使用して)出力として3つのsを取得15
します。つまり、pmapに渡された関数によって見られるバインディング形式の変更があります。スレッドローカルバインディングとpmapの相互作用の方法は変更されましたか?この文書はどこにも見つかりません。
erlang - rpc:pmap を正しく使用するには?
モジュールrpc
関数pmapで見つけました。そして、私はそれを使おうとしたときに立ち往生しました。
最初の質問 - 他のノードとの接続が必要ですか、lists:map
それとも他のノードへの接続がないかのように動作しますか?
pmap
他のノードに接続せずに実行しようとしましたが、例外が発生しました:
その後、別のローカル ノードを起動し、現在のノードに接続しました。しかし、それでも同じエラーが発生します。
rpc:pmap
正しい使い方を教えてください。
ありがとう
PS 次のコードは期待通りに動作します (結果 3 を返します):
performance - 複数ノードと単一ノードのErlangrpc:pmap
計算を。で並列化しようとしていますrpc:pmap
。しかし、私はそのパフォーマンスと少し混乱しています。
簡単な例を次に示します。
まず第一に-単一ノードでテストします:
その後、2番目のノード(OSの2番目のerlangシェルプロセス)に接続しました:
最後に、3番目のノードを接続しました。
つまり、3つのノードでは1つのノードよりもパフォーマンスが低下します。
ノード間の通信にはいくらかのオーバーヘッドがあることに気づきました。しかし、どの場合に複数のノードで計算を実行する方がよいかをどのように理解できますか?
編集:
シェルからの私の段階的なテスト:
単一ノードでのパフォーマンスのテスト:
ネットワーク環境への入り口:
2番目のノードを追加します。
2つのノードでパフォーマンスをテストします。
3番目のノードを接続します。
3つのノードでパフォーマンスをテストします。
PS同じ物理マシンで新しいerlang-shellプロセスとして各ノードを作成しているため、パフォーマンスが低下すると思います。しかし、私が正しいかどうかは正確にはわかりません。
linux - なぜlibが特定のプロセスによって複数回ロードされるのですか?
なぜこれらのようにlibがより多くの時間をロードされるのですか?それは必要ですか?なぜ?