どうでしょ事前にメモリを割り当てのセsolaris?
質問
私の問題:
いperlスクリプトを利用し多くのメモリー(予定行動のためキャッシュ).でも、だから、なくてはならないようキャッシュ、遅く、工程の中で最も費やす時間の時間睡眠モードになります。
と思った事前メモリ割り付けしての処理が高速化します。
はいいアイデア。
更新:
と思いないので、非常に明確です。入れますという問いをより明確方法:
いの方の事前配分のperlスクリプトろどのような役割が期待くはこちら。今、興味がないOSをXのメモリ量の私のperlスクリプトではないとの競争その他のプロセスです。
と思われるメモリ使用量がん検討してまいりたいと考えてい削減することもでください改善があります。ご参考また、solaris10機です。
解決
私からのご投稿やコメントはこの:
- プログラムが遅い時のメモリ使用の上昇
- おpogramますます過ごす時間寝ないコンピューティング
がeplanation:睡眠段を待ってリソースまで対応可能となっています。●この場合には、資源がである。利用のvmstat1コマンドを検証する。●というものsrカラムです。場合の範囲を超えて~150一貫してこのシステムは必死には無料のページを満たす。こ性が高い活動をpi、po、fr列あります。
ここの場合、最良の選択:
- アップシステムメモリーの需要に応える
- メモリ使用量の削減レベルappropiateのためのシステムです。
Preallocating記憶しません。いずれの場合もメモリの需要を上回る可能メインメモリはいないのです。カーネルのその後を決定するページが必要なメモリやページがクリアされ、再利用のために緊急に必要です。すべてregularilyに必要なページに設定)を超えるサイズのメインメモリ、システムは常にページを移動から二次保存(スワップ.このシステムはそれを詰一な多くの時間をやって便利です。あいこexecept追加メモリは使用します。
他のヒント
からのコメント:
メモリ制限のない非常に厳しい状況にあるが、メモリフットプリントを簡単が一般財政支援としての競争プロセスのメモリ、行動の便が良いことから、非常に遅くなります。予約したいときは、一部のメモリからのOSで詰が最小の場合でも多くの他のプロセスです。Jagmal
みましょう異なるタックです。問題はいなだけじゃない傷を付けてもおPerlスクリプトです。代わりに、全ての工程に機械を消費すぎるとメモリの機対応として設定します。
できる"準備"メモリがないの防止に全体が袋叩きにあいました。実際、この問題の悪化がOSんをご利用の場合のメモリで保存します。
ろしあなたが何かに苦しんでいた "コモンズの悲劇".私権その他の多くのユーザーの問その場合、これは社会問題のよりは技術的な問題です。必要なものは、のようなシステム管理者)のスキン座標の全てのプロセスの機です。この奇妙なメモリの占有とそのプログラマーのコスト削減とシステム資源です。さらに、もう手配のためのプロセスする予定のように資源配分が効率的です。その後必要がありますまたはハードの向上を想定するシステム負荷時のものです。
一部の問題だ自分自身
- 私のデータ構造によっては手にゆだねているでしょうか?
- なっているキャッシュするのかな。
- できま捨てキャッシュされたデータも時間がかかる?
my @array;
$#array = 1_000_000; # pre-extend array to one million elements,
# http://perldoc.perl.org/perldata.html#Scalar-values
my %hash;
keys(%hash) = 8192; # pre-allocate hash buckets
# (same documentation section)
れていないご存じのコードは、一部のベンチャー投こちらは【grin]これらの技術にはない新しいも効率スクリプトが事前に交付きでチャレンジしましょう。
幸運を祈っています。
--ダグラスターハンター
私は最近改良 ランダルタイL.Schwartz第 を含むpreallocating配列。仮にこの問題をできる試験preallocatingと変化する。が必ず試験の結果です。
その理由は、スクリプトの動きが遅くなりよりキャッシュが 詰.その理由のためにキャッシュの住み分けすることは大切なことはパフォーマンスを向上させ.では迅速に回答:削減キャッシュ.
現在り方に修正キャッシュのスキームで使用メモリを回避を詰.例えば、見るキャッシュファイルやデータベースの代わりにメモリーできます。またファイルシステム、データベースのキャッシュできるより効率的応用のキャッシングで共有する複数のう場合がございます。
考えられるようになるかもを変更することアルゴリズムのメモリ使用量の削減。例えば、代わりに引全体のファイルをメモリにロード、Perlプログラムがより読みラインによります。
最後に、ご検討 のMemoizeモジュール?することにはすぐに応用できる源泉である。
を見つけられなかった方います。
ものにしていることが分かった( この 詳しく)
メモリ割り当てるlexicals(my()変数を再生することはできませんまたは 再利用した場合でも出対象外です。では予約の場合、変数 しかし、私たちの生活を振り返る。メモリ割り当て グローバル変数が利用できること (プログラム) undef()グおよび/または削除().
なので、私がここでもインターネットオンラインの場合はiを低減できる総メモリ印刷の語彙の変数です。
そのようなお 制限 または ulimit.が思いの原因になりますのでスクリプトが上限になるだろうなと考えている。
ような優れた考え方が共有キャッシュデータとプロセス。てデータをデータベースまたはファイルにした料理が楽しめます。
ているのは嫌だと言うが合わない場合にはメモリの制限はこうした厳しい、Perlではどのように変動するという、適切な言語のための願いいたします。Cされ、思い思いのまま。
一つのことができるようにな利用solaris区域(容器).
きるこのプロセスにゾーンに配置でのような資源のRAMおよびCPUです。
ここでは二つのクチュートリアル:
を事前に配分していきたいと思いますのページサイズオプションする場合には、このようなperlは、OSのためのメモリーのためのプログラムです 大きなチャンク.
見 Solaris Internals:複数ページサイズ支援 詳しい情報の違いこと、どうやって実行するかである。
見 http://metacpan.org/pod/Devel::Size
できるインラインcの機能なのです。
しかできなメモリを割り当てらPerlです。きのこ筆、XSモジュールをインラインC関数のようにしている。