次の問題について疑問に思います。コンピュータとXubuntuを起動すると、ログイン画面の前に多くのプログラムが起動します。 Valgrindを介して起動中に失われた合計バイト数を測定できますか?それはまるで
For every program i do
valgrind i
答え1
プロセスが終了すると、割り当てられたメモリはフリーに設定されます。
メモリリークは、プロセスの実行中にのみ発生する可能性があります。
valgrindを使用すると、マシンの起動後もまだ実行中のプロセスを検出して分析できます。
答え2
ここには謎があります。valgrind
プロセスが完了するまでプロセスでメモリリークが発生するかどうかを確認する方法はなく、完了すると問題は解決されます。
また、すべてのソフトウェア(一部の共通ライブラリを含む)が終了時にクリーンアップされるわけではありません。現れるメモリリーク。1 これは多くの人にとって良い習慣とは見なされませんが、一般的な使用には実際の問題はありません。
メモリリークのコンテキストは、これをリークしたプロセスに制限されていることに注意してください。 プロセスが完了すると、システムは「リーク」であるかどうかにかかわらず、使用されたすべてのメモリを回復します。アプリケーションについて知りたい場合は、特にvalgrindで実行できます(前の段落のポイントを覚えておいてください)。ただし、デプロイメントリポジトリのほとんどのコンテンツはすでにこのプロセスを経ているため、製品(およびそのソースコード)についてよく知らない限り、何も見つからない可能性があります。
1. これにより、そのライブラリを使用するデバッグアプリケーションが少し面倒になり、文句を言う可能性があります。