2016-04-10 12 views
1

SQLite操作が消費するメモリの量をチェックしています(ほとんど挿入します)。dockerはSQLiteデータベースのメモリ解放を示していません

ドッカーコンテナでプログラムを実行し、メモリ使用量をdocker stats <container id>で調べます。メモリの使用量が増え、操作が完了しても正常に戻らない奇妙な動作が観察されます。ここ

コードの抜粋です:のみ抜粋

conn = sqlite3.connect(app.config['DATABASE']) 
cur = conn.cursor() 
cur.execute('insert into users (uid, full_name, email, username, job_title) values (?,?,?,?,?)', [user_cn, user_full_name, user_email, user_uname, user_jobtitle]) 
conn.commit() 
conn.close() 

その(私は、コードのほとんどをcutted)、この手順は、一度に近い、何千回は、(すべての挿入時にコミット行われます終わり)。

statsのメモリ使用量が増えただけで、私が観察したもう1つのことは、メモリが何も表示されないことです(0.1%のままです)。私はLinux上でいくつかのダミー操作を実行しようとした私の研究で

for i in {1..100000}; do echo "aaaaaaaaaaaaaaaaaaa" >> woot.data; done 

私はので、私はそれがSQLiteのの問題ではないと思いますが、私はまだその私のユースケースと、おそらくその設定/以来、それを含めると同じ行動を観察しました接続は関連するものを閉じます。

このミステリーを解決するためのアドバイスは高く評価されます!

EDIT:ドッキングウィンドウのバージョンは次のとおりです。Docker version 1.5.0, build a8a31ef/1.5.0

答えて

1

あなたの実際のホスト、およびドッキングウィンドウのバージョンに依存することができますこと。

例えば

:ドッカ1.11-RC4で

  • 、メモリリークが報告されている(issue 21837)およびMac上
  • は、ドッキングウィンドウ1.11.0rc3はメモリ制限が表示されないバグが含まれています統計情報(issue 21848
+0

こんにちは、ありがとう、答えは1.5.0です。メモリリークの場合にはかなり問題のようです。 –

+0

@ Anton.Pあなたはドッカー1.5.0を使用していますか? – VonC

+0

はいバージョンは1.5.0、 'Dockerバージョン1.5.0、ビルドa8a31ef/1.5.0' –