次の例では、madv.so.1 共有オブジェクトの機能について個別に説明します。
この設定では、exec が foo で始まるすべてのアプリケーションの ISM セグメントにアドバイスを適用しています。
$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
$ MADVCFGFILE=madvcfg
$ export LD_PRELOAD MADVCFGFILE
$ cat $MADVCFGFILE
foo*:ism=access_lwp
この設定では、ls を除くすべてのアプリケーションにアドバイスを適用しています。
$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
$ MADV=access_many
$ MADVCFGFILE=madvcfg
$ export LD_PRELOAD MADV MADVCFGFILE
$ cat $MADVCFGFILE
ls:
MADVCFGFILE に指定された構成は MADV の設定値より優先されるので、ファイルの最後の構成エントリで exec-name に指定した * は、MADV を指定した場合と同じ意味になります。この例は、前述の例と同じ結果になります。
$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
$ MADVCFGFILE=madvcfg
$ export LD_PRELOAD MADVCFGFILE
$ cat $MADVCFGFILE
ls:
*:madv=access_many
この構成では、あるアドバイスのタイプを mmap() 領域に適用し、さらに別のアドバイスのタイプを exec() の名前が foo で始まるアプリケーションのヒープおよび共有メモリー領域に対して適用しています。
$ LD_PRELOAD=$LD_PRELOAD:madv.so.1
$ MADVCFGFILE=madvcfg
$ export LD_PRELOAD MADVCFGFILE
$ cat $MADVCFGFILE
foo*:madv=access_many,heap=sequential,shm=access_lwp