2013年4月21日日曜日
メモリリークの確認
テストの本に書かれていたことでメモ
長時間テスト
不正なポインタ、メモリリークの確認するといい。
ブラックボックステスト(ソースコードを見たりとかではない、
いわゆる出来あがったたものとしてソフトを動かすテスト)の前提ですが。
アプリを一晩とか一週間ぶん回して、
きちんと動くことー。
というお題があったとして。
じゃあどうやってそれを確認するの?
基本の機能の動作の確認もありますが、
もう少し事前の兆候とか、ちょっとなー
という部分をサクット確認できたらと思います。
OSが、WINDOWS XP 7ですと
1)タスクマネージャを起動(CTRL+SHIFT+ESCキーを押す)
2)プロセスタブを表示=>列の選択=>ハンドル、スレッドのレ印を有効
3)対象のイメージ名を選択
■図
こんな感じです。
OSがLINUXですと
わからないので調べてみた。
■ps コマンド ハンドル スレッド
参考URL:https://www.google.co.jp/webhp#safe=off&hl=ja&sclient=psy-ab&q=ps%E3%80%80%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%80%80%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89&oq=ps%E3%80%80%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB%E3%80%80%E3%82%B9%E3%83%AC%E3%83%83%E3%83%89&gs_l=hp.3...384.8434.0.8877.29.29.0.0.0.3.156.2102.25j4.29.0...0.0...1c.1j4.9.psy-ab.8IA42qRsF-0&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45512109,d.dGI&fp=2029cedacbe31ef4&biw=1920&bih=908
スレッドは
ps -efにmをつけて
ps -efm
でなにやら1プロセスごとに余分になんか出ている。
というかみずらい。。
ps -efL
-------------------------------
ID PID PPID LWP C NLWP STIME TTY TIME CMD
root 1 0 1 0 1 09:42 ? 00:00:00 init [3]
root 2 1 2 0 1 09:42 ? 00:00:00 [migration/0]
root 3 1 3 0 1 09:42 ? 00:00:00 [ksoftirqd/0]
root 4 1 4 0 1 09:42 ? 00:00:00 [watchdog/0]
root 5 1 5 0 1 09:42 ? 00:00:00 [events/0]
root 6 1 6 0 1 09:42 ? 00:00:00 [khelper]
root 7 1 7 0 1 09:42 ? 00:00:00 [kthread]
root 10 7 10 0 1 09:42 ? 00:00:00 [kblockd/0]
root 11
-------------------------------
このNLWPの数がスレッドらしい
参考URL:http://d.hatena.ne.jp/rx7/20101219/p1
ハンドルはちょっとLINUXだと無いらしい
参考URL:http://detail.chiebukuro.yahoo.co.jp/qa/question_detail/q1079741145
ファイルディスクリプターかー
/proc/(PID)/fd/(ここ)
[root@cent-test01 maint01]# cd /proc/2196/fd
[root@cent-test01 fd]# ls
0 1 2 3
なんか色ついてる。
■proc pid fd ハンドル
参考URL:https://www.google.co.jp/search?q=proc%E3%80%80fd&aq=f&oq=proc%E3%80%80fd&aqs=chrome.0.57j0l3.5579j0&sourceid=chrome&ie=UTF-8#safe=off&hl=ja&sclient=psy-ab&q=proc%E3%80%80pid%E3%80%80fd%E3%80%80%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB&oq=proc%E3%80%80pid%E3%80%80fd%E3%80%80%E3%80%80%E3%83%8F%E3%83%B3%E3%83%89%E3%83%AB&gs_l=serp.3...499897.504669.1.505021.20.13.7.0.0.1.158.1310.6j7.13.0...0.0...1c.1j4.9.psy-ab.yznTMDD_DxI&pbx=1&bav=on.2,or.r_cp.r_qf.&bvm=bv.45512109,d.dGI&fp=2029cedacbe31ef4&biw=1920&bih=951
0:標準入力、1:標準出力、2:標準エラー出力
らしい
参考URL:http://linuxjm.sourceforge.jp/html/LDP_man-pages/man5/proc.5.html
LIMITSもあるらしい
/proc/(PID)/limits/
参考URL:http://ja.softuses.com/63083
-------------------------------
[root@cent-test01 fd]# cat /proc/2196/limits
Limit Soft Limit Hard Limit Units
Max cpu time unlimited unlimited seconds
Max file size unlimited unlimited bytes
Max data size unlimited unlimited bytes
Max stack size 10485760 unlimited bytes
Max core file size 0 unlimited bytes
Max resident set unlimited unlimited bytes
Max processes 32767 32767 processes
Max open files 1024 1024 files
Max locked memory 32768 32768 bytes
Max address space unlimited unlimited bytes
Max file locks unlimited unlimited locks
Max pending signals 32767 32767 signals
Max msgqueue size 819200 819200 bytes
Max nice priority 0 0
Max realtime priority 0
-------------------------------
■メモリリーク調査
参考URL:https://www.google.co.jp/search?q=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF+%E8%AA%BF%E6%9F%BB&aq=1&oq=%E3%83%A1%E3%83%A2%E3%83%AA%E3%83%AA%E3%83%BC%E3%82%AF%E3%80%80&aqs=chrome.3.57j5j0l2j62l2.5999j0&sourceid=chrome&ie=UTF-8
登録:
コメントの投稿 (Atom)
0 件のコメント:
コメントを投稿