Simple HTML DOM Parser メモリの開放

2011/06/07

Simple HTML DOM Parserでメモリを開放しているにも関わらず、開放しきれていない。
「メモリリーク」っていう状態に陥っているっぽい。

Simple HTML DOM Parserでメモリの開放について

clear()で完全に開放されないようなら、PHP5.3以上にする。
もしくは、諦める。

メモ

当初は「unset()」をやっていたんだけど、まったくもってメモリが開放されていなかった。
調べると[Simple HTML DOM Parser]では「clear()」を使うってのがあった。
当初は「clear()」で良かったんだけど…素晴らしいぐらい悪ふざけなサイトに遭遇してしまい「メモリリーク」っていう状態に…。

さらに調べると[Simple HTML DOM Parser]は「循環参照」ってヤツを使っているらしい。
excelでも同じようなのがあるけど…それに似たようなヤツっぽい。同じヤツかも…。

さらに調べると…「循環参照」しているヤツらのメモリの開放の方法は、前述の「PHP5.3」以上にする。
※「5.3.2」だか「5.3.3」あたりにしないとバグが多いらしく使えたモノじゃないとか。
コレが無理なら「諦める」という方法。私の場合はPHPのバージョンアップはちと不都合があるので「諦める」という手法を選ぶことにした。

メモリリークとは【memory leak】

コンピュータの動作中に、使用可能なメモリ容量がだんだん減っていく現象。OSやアプリケーションソフトが処理のために占有したメモリ領域を、なんらかの理由で解放しないまま放置してしまうために起きる。多くの場合、OSのメモリ管理方法に問題があったり、アプリケーションソフトに不具合(バグ)が残っていたりすることが原因である。メモリリークにより利用可能なメモリ領域が減少すると、システムの性能が低下したり、不安定になったりする。これを解消するには、システムを再起動する必要がある。
メモリリークとは【memory leak】 – 意味/解説/説明/定義 : IT用語辞典より

新着(ニュース関連以外)

2018-07-26
年賀状で「新春」とか書くけど・・・何故なんだろうと8月を目前にした今、疑問に思った。
2018-05-16
PHPで画像のヘッダ情報(?)の「Orientation」を元に画像回転させたい。
2018-03-05
Android Studioをインストール。エミュレータを軽くするトコまで終わらせたかったけど、挫折した。
2018-02-23
プッシュ通知について調べてた時にでてきたServiceWorker。そのServiceWorkerについてのメモ。
2017-12-13
jqueryで取得したDOM要素をオブジェクトじゃなくて、配列で受け取りたい