Linuxマシンのデフォルトのスタックサイズを8MBから2MBに変更しました。この変更で保存したメモリ量を比較したいと思います。どのように私は、8メガバイトのスタックサイズとシステムの変更の影響と2メガバイトのスタックサイズのものを比較することができ異なるデフォルトのスタックサイズを比較するには?
答えて
などの増加数を出力します非末尾再帰関数で書く:例えば
void stackOverFlowMe(int i) {
cout<<i<<"\n";
stackOverFlowMe(i+1);
}
をC++(任意の言語を使用することができます)で、どのくらいの距離を参照してください。ほとんどのプログラムはあまりそれを必要としません。
あなたのコメントに続いて、シェル内のtop
を使って、すべてのLinuxディストリビューションのメモリ使用量を確認できます。最初の行は、グローバルな情報を持っている:
top - 11:27:46 up 18 days, 21:08, 13 users, load average: 0.71, 0.23, 0.16
Tasks: 277 total, 2 running, 274 sleeping, 1 stopped, 0 zombie
%Cpu(s): 1.4 us, 0.4 sy, 0.0 ni, 98.1 id, 0.1 wa, 0.0 hi, 0.0 si, 0.0 st
KiB Mem : 8105520 total, 1798056 free, 3223720 used, 3083744 buff/cache
KiB Swap: 5192700 total, 5165132 free, 27568 used. 3993932 avail Mem
私はこの変更を行うことでどれくらいのメモリを節約したのか知りたかったのですが、私は両方のシステムで同じ値を見ることができます。もしあなたが私に本当にすばらしい情報を与えることができたら..ありがとう –
@ ABHINAVKUMAR13BIT0087あなたの記憶の全体像については編集を参照してください。実行しているものによっては、多くの影響を受けるかどうかはわかりません。 – kabanus
はい、私はトップ、無料、vmstat、/ proc/meminfoを試みたが、私は多くの違いを見つけることができませんでした。しかし、私はもっと深く入ることを試みるでしょう –
プログラムは、あなたのLinuxボックスの実行時に、彼らは追加して、プログラムの機能として、定期的にスタックからデータを削除します。スタックサイズは、スタックのメモリにどれくらいの領域が割り当てられているかを反映します。スタックサイズを大きくすると、プログラムは呼び出すことができるルーチンの数を増やすことができます。関数が呼び出されるたびに、最後のルーチンデータの上にスタックされたデータがスタックに追加されます(最後のルーチンデータの上に積み重ねられます)。
プログラムが非常に複雑で、特別な目的に設計されていない限り、8192kbのスタックサイズは通常は問題ありません。グラフィックス処理プログラムのようないくつかのプログラムでは、機能するスタックのサイズを増やす必要があります。彼らはスタック上に多くのデータを保存することができます。以下は、スタックサイズを変更するためのコマンドです。これが役立つことを願っています。
SunOS/Solaris:
==============
> limit # shows the current stack size
> unlimit # changes the stack size to unlimited
> setenv STACKSIZE 32768 # limits the stack size to 32M bytes
Linux:
======
> ulimit -a # shows the current stack size
> ulimit -s 32768 # sets the stack size to 32M bytes
- 1. std :: priority_queue異なる比較
- 2. java異なるオプションと比較する
- 3. 異なる長さのベクトルの比較
- 4. 異なるデータベーススキーマのパフォーマンスの比較
- 5. SAS Proc異なるフォーマットの比較
- 6. 異なるバックプロパゲーションアルゴリズムのパフォーマンス比較プロット
- 7. 異なるデータフレームの異なるシリーズの比較/マッピング
- 8. C++の異なるマシンのタイムスタンプを確実に比較する
- 9. 異なる次元数の点を比較する方法は?
- 10. 異なる時期に2つの変数を比較する
- 11. 異なる比較署名:: LOWER_BOUNDここ
- 12. 2枚の差異を比較する
- 13. 差異のXMLを比較する
- 14. データフレームの異なる行番号で異なる列の値を比較する
- 15. Djangoは異なるデータベースのクエリーセットを比較します
- 16. javaは異なるオブジェクトの属性を比較します
- 17. RAZLは異なるバージョンのサイトコアデータベースを比較できます
- 18. 異なるファイルの異なる列をマージして比較する
- 19. 異なる時間にデータを比較する
- 20. カスタムオートロードとデフォルトの比較
- 21. VisualStudioのデフォルト比較オプション
- 22. 方法がない2つの異なる配列を比較するには?
- 23. 異なるサイズのリストの2つのリストを比較する
- 24. 異なるフォーマットの2つのオーディオファイルを比較する方法
- 25. 年の異なる2つの日付を比較する
- 26. Python異なる長さの2つのリストを比較する
- 27. 2つの異なるアクティビティのコンテキストオブジェクトを比較する方法..?
- 28. 異なるワークブックの2列内のテキストを比較する
- 29. 2つの異なるリストの要素を比較する
- 30. scala/sparkの異なるキーの値を比較する
これは、トピック外の質問の匂いがする。特にいくつかの解答のあなたのコメントに基づいています。おそらく、スタックオーバーフローの質問を少し改善することができます。そして明らかにするために、Stack Overflowはプログラミングと開発に関する質問のサイトです。 – jww