問題タブ [stack-size]
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.
memory - ワークスペースをクリアしてスタックサイズを縮小した後、Scilab はメモリを解放しません。なんで?
Xubuntu 14.04 64 ビット システムで Scilab 5.5.0 を使用しています。より多くのメモリ量でタスクをフィルタリングするためにスタックサイズを増やします: stacksize("1e7")
. その場合、scilab は最大 700 MB のメモリを消費します。メモリ使用量を入力してワークスペース内のすべての変数を削除してもclear
、メモリ使用量は減少しません。助けにはなりstacksize("min")
ません。
このメモリ使用量により、システム全体が遅くなります。これを回避できるものは何ですか?Scilab が実行時だけにメモリを予約するようにします。すべての計算が完了したら、使用済みのメモリを他のプロセスのために解放する必要があります。これは可能ですか?
c++ - XCode: 多次元配列のスタック サイズ制限
私のxcodeプロジェクト(一般的な例の下)にいくつかの複雑なクラスがあり、ある種のデータサイズ制限に達したようです。必要な配列サイズが機能しません。配列サイズを縮小すると、コードは機能します (したがって、プログラミング エラーは発生しません) が、計画したサイズには小さすぎます。
インターネットを読んで、スタックサイズに問題があるに違いないことがわかりました。ほとんどの解決策は、「静的配列を動的配列に変換する」と言っています。
しかし、(1)多次元配列(複数の独立変数を監視し、各組み合わせが可能であるため、最大5〜10次元のものもあります)ではそれほど簡単ではなく、(2)ほとんどの配列は複数のクラスにネストされているため、さらに悪化します.
私はすでにデータを減らすことを考えていました
- いくつかのインテリジェントな転置を使用して、long の代わりに int...
- c (0-100%) の解像度を 10% のステップに変更します (したがって、[100] は [10] に減少します)。
しかし、一方でこれは全体的な結果を危険にさらす可能性があり、他方ではプロジェクトがまだ開始されているため、来月には大きくなります...この配列サイズの問題は遅かれ早かれ再発します...
ここでは、4 次元配列 (2x 2D) を示すコードを一般化しました。ほとんどのプロのプログラムは、さらに大きな配列を使用していると思います。だから、これを機能させる方法があるはずです...
r - クエリが 2 MB 未満であるにもかかわらず、hstore クエリで PostgreSQL スタックの深さの制限を超えました
からまでstack depth limit exceeded
の行を保存しようとすると、に遭遇します。一括アップサートに対処するために、次のようなクエリを使用しています。R
PostgreSQL
}
これまでのところ、このクエリは、挿入数を低く抑えながら何百万ものレコードを更新するのに非常にうまく機能しました。これまでスタックサイズの問題に遭遇したときはいつでも、レコードを複数のチャンクに分割して、そこから先に進みました。
しかし、この戦略は現在、いくつかの問題に直面しています。私はもうたくさんのレコードを持っていませんが、hstore
少し大きいものはほんの一握りです。しかし、決して「大きい」わけではありません。1GBの制限に近づかないようにアドバイスする@Craig Ringerによる提案を読みました。したがって、hstore 自体のサイズは問題ではないと思いますが、次のメッセージが表示されます。
Error in postgresqlExecStatement(conn, statement, ...) :
RS-DBI driver: (could not Retrieve the result : ERROR: stack depth limit exceeded
HINT: Increase the configuration parameter "max_stack_depth" (currently 2048kB), after ensuring the platform's stack depth limit is adequate.
)
編集: 制限を 7 MB に増やしたところ、7 MB では不十分であるという同じエラーが発生しました。クエリ自体はわずか 1.7 MB (テキスト ファイルに貼り付けて確認しました) しかないので、これは私にとって非常に奇妙です。誰でもこれに光を当てることができますか?
perl - perl の Pari での allocatemem() 関数
Math::Pari、Pari/GP 用の perl インターフェイスに依存する perl 用の Crypt::Random モジュールを使用して乱数を生成していましたが、1.5M 桁の数字を生成しようとすると次のエラーが発生しました。
私のスクリプト:
allocatemem() 関数は Math::Pari 関数だと思っていましたが、そうではありません。ワンライナーと比較して、スクリプトを使用して GP スタック サイズを 8.0 M バイトに変更する方法を知っている人はいますか? ありがとう。
1e+32 へのスタックの問題
脚本:
java - Android アプリケーションで (スレッドの) スタック サイズを変更するにはどうすればよいですか?
メイン アクティビティに接続されているサービスで、stackoverflow エラーが発生します。サービス内でスタック サイズを変更する方法はありますか? Xss パラメータに遭遇しましたが、明らかに vm オプション ([ヘルプ] -> [vmoptions の編集]) では使用できません。
ちょっとした背景: シリアル化された機械学習モデルをコードで読み取ってから逆シリアル化しようとすると、エラーが発生します。このモデルが小さなデータセットで構築されている場合は同じ関数が正常に機能しますが、より大きなデータセットで同じモデルを構築した場合は機能しません。
どうすればそれを行うことができますか?
mfc - 警告 C6262: 関数は '27688' バイトのスタックを使用しています: /analyze:stacksize '16384' を超えています。一部のデータをヒープに移動することを検討してください
この問題に関するいくつかの質問とトピックを読みました。例えば:
しかし、メソッドで問題を特定する方法を実際に理解することはできません:
コンパイラを調整し、スタックサイズを増やしてエラーを抑制できることはわかっています。
しかし、私の方法でルートの原因を特定するための基本的なアプローチは何ですか?
変数の最初の束はCStringArray
. CPtrArray
次に、タイプ の オブジェクトのが続きCUSTOM_ASSIGN_S
ます。
繰り返しますが、上記の構造体のメンバーはどれも大きな配列ではありません[xxx]
。他の唯一の注目すべき方法はReadDateMapData
、アーカイブを読み取り、別のマップを埋めることです。
しかし、前述のように、問題を特定する方法がわかりません。定義されている大きな配列はありません。1つか2つTCHAR file[_MAXPATH];
ですが、それはそれについてです。CStringArray
またはなどの残りのクラスCPtrArray
..
前もって感謝します。
アップデート
提供されたコメントに基づいて、上部の変数宣言だけでも次のことを確認できました。
そもそもスタック サイズが 18072 になります。