ねじれたサーバーのプロファイルを作成しています。予想以上にメモリを消費します。そのメモリ使用量は、時間の経過とともに増加します。
ps -o pid,rss,vsz,sz,size,command
PID RSS VSZ SZ SZ COMMAND
7697 70856 102176 25544 88320 twistd -y broadcast.tac
ご覧のとおり、コストは102176 KB、つまり99.78125 MBです。そして、ねじれたマンホールから guppy を使用して、メモリ使用プロファイルを監視します。
>>> hp.heap()
Partition of a set of 120537 objects. Total size = 10096636 bytes.
Index Count % Size % Cumulative % Kind (class / dict of class)
0 61145 51 5309736 53 5309736 53 str
1 27139 23 1031596 10 6341332 63 tuple
2 2138 2 541328 5 6882660 68 dict (no owner)
3 7190 6 488920 5 7371580 73 types.CodeType
4 325 0 436264 4 7807844 77 dict of module
5 7272 6 407232 4 8215076 81 function
6 574 0 305776 3 8520852 84 dict of class
7 605 1 263432 3 8784284 87 type
8 602 0 237200 2 9021484 89 dict of type
9 303 0 157560 2 9179044 91 dict of zope.interface.interface.Method
<384 more rows. Type e.g. '_.more' to view.>
うーん...何か問題があるようです。Guppy は、メモリの合計使用量が 10096636 バイト、つまり9859.996 KBまたは9.628 MBであることを示しています。
それは大きな違いです。この奇妙な結果の何が問題なのですか? 私は何を間違っていますか?
更新:
昨夜、監視スクリプトを書きました。メモリ使用量とオンライン ユーザー数を記録します。これはラジオ サーバーなので、ラジオと総リスナーが存在することがわかります。これが私がmatplotlibによって生成した図です。
何かがおかしい。このように、ps によって表示されるメモリ使用量が非常に低い場合があります。
2010-01-15 00:46:05,139 INFO 4 4 17904 36732 9183 25944
2010-01-15 00:47:03,967 INFO 4 4 17916 36732 9183 25944
2010-01-15 00:48:04,373 INFO 4 4 17916 36732 9183 25944
2010-01-15 00:49:04,379 INFO 4 4 17916 36732 9183 25944
2010-01-15 00:50:02,989 INFO 4 4 3700 5256 1314 2260
メモリ使用量の値が非常に低い理由は何ですか? さらに、オンライン ラジオやリスナーがいなくても、メモリ使用量は依然として高いままです。