プログラミングの競争によっては、問題にメモリ制限(64MBや256MBなど)があります。私のプログラム(C++で書かれたもの)がbashコマンドで使用するメモリをどのように理解できますか?プログラムによって使用されるメモリを制限する方法はありますか?制限よりも多くのメモリを使用する場合、プログラムは終了する必要があります。bashでプログラムが使用するメモリの理解(ubuntu linuxで)
答えて
実行中のプロセスと現在のメモリとスワップの一覧が表示されます。また、GUIを使用する場合は、システムモニタアプリケーションを使用できます。
メモリ使用量をロックする場合、常にulimit -vを使用して、プロセスの最大仮想アドレス範囲を設定できます。これにより、mallocとその仲間は、設定された制限よりも多くのメモリを取得しようとすると失敗します。
プログラムは1秒未満で実行されます、私のプログラムを監視するトップ 'コマンド? 'top'の出力に、私のプログラムで使用されているメモリを示す列はありますか? 'ulimit -v'は私のプログラムで使用されているメモリを制限していますか?(仮想メモリの意味は?) – Farzam
あなたのプロセスがtopよりも速いなら、それは最善ではないでしょう。 Valgrind --tool = massif(あなたのコマンド)を試すことができます。仮想アドレス空間は、実行するプログラムによって要求されたすべてのメモリです。オペレーティングシステムはメモリを提供する役割を担っているため、ラム内の特定の場所に実際にマップする必要はありません。たとえば、dimmの先頭に20kb、途中に20kbがあるかもしれませんが、OSはそれを素敵な塊のように見せます。 – RussS
'valgrind --tool = massif MY_COMMAND'は何を出力するのですか?それは== 4587 ==をプリントします。どういう意味ですか? – Farzam
あなたはそれに入れたい仕事に応じて、getrusage(),getrlimit()、およびsetrlimit()を見ることができます。テスト目的のために、あなたはプログラムの初めにそれらを呼び出すか、あるいは親プロセスでそれらを設定し、子供としてコンテストプログラムをフォークすることができます。コンテストの検討のためにプログラムを提出する際に、それらを省略してください。
また、プロセス1234のために、あなたは/proc/1234/maps
か/proc/1234/smaps
に見たりpmap 1234
を実行することができ、これらすべてのコマンドは、PID 1234
のそのプロセスのメモリマップを表示する例を取得するためにcat /proc/self/maps
を実行してみます(メモリそのcat
コマンドを実行しているプロセスのマップ)。
プロセスのメモリマップは、私は `ヘルプulimit`を示唆
- 1. Ubuntu Bashが理解できないBashスクリプト
- 2. このHaskellプログラムのメモリ使用量を理解する
- 3. Git with windows 10 ubuntu(linux)-bash
- 4. はLinuxでの使用メモリを処理します
- 5. プロセスがLinuxで使用している物理メモリの量を調べる
- 6. Jettyのメモリ使用量の理解
- 7. LinuxのBash(Ubuntu)で "sed"コマンドを作成する方法
- 8. Linuxプログラムで積極的に使用されているメモリを追跡する
- 9. Linuxでのグラフィックカードのメモリ使用率
- 10. bashの$ ''引用符を理解する
- 11. 全体的なCPUの使用率およびLinuxでの割合でのメモリ(RAM)の使用/ Ubuntuの
- 12. Linux Ubuntu Tomcatベストプラクティスでメモリが不足するのを避けるため
- 13. iosでのメモリ管理の理解
- 14. Linuxのメモリ使用量
- 15. Windows上でUbuntuでVSコードとBashを使用する(WSL)
- 16. 「プログラムAPI」の理解と使用方法
- 17. Ubuntuで 'top'を使ったPythonの実行を理解する
- 18. Linuxのメモリ管理(キャッシュ)
- 19. Ubuntu-BashとNodeJSを使用してWindowsでVisual Studioコードを使用する
- 20. Linuxカーネル - 物理アドレスを取得する方法(メモリ管理)? Linuxで
- 21. Windows用のBash Ubuntu、Git Bashのカラースキームを使用
- 22. Bashスクリプティングの理解
- 23. Kubernetes: "kubectl top node"のメモリ使用量を理解する
- 24. linux/ubuntuでのパッケージインストール
- 25. Ubuntu Linuxでのビルビルエラー
- 26. Linux、bashスクリプトのメモリ不足、インタラクティブではなくulimit?
- 27. AndroidStudioがUbuntu Linuxでクラッシュする
- 28. メモリ使用量プログラムの
- 29. プログラムのメモリ使用量がオーバーフローatmel
- 30. 静的プログラム解析を使用してメモリ不足エラーを解決する
mmap(2)システムコール(など)によってexecve(2)によって初期化され、変更されました。 AskUbuntuは、基本的なシェル機能(リソース制限など)やモニタリング( 'ps'はそれに対応し、' top')のためのより良い場所を見つけるかもしれません – derobert