Posts tagged ‘reduce Vivaldi mem usage Linux’

(今回は まあまあ簡潔に書けた!w)

Linux版Vivaldiがメモリを食うのを改善しようとする件。: 以前、どういう訳か、アイドルのタブをサスペンドするアドオンAuto Tab Discardが効かなくなったので、同種のMarvellous Suspender(以下、Marvellous)に換えた。が、近頃はMarvellousが今一つになった感じなので、Auto Tab Discardに戻した。

気のせいとか、サスペンドしない設定のタブが多かった※からかも知れないが、どうも、MarvellousはChromeの同種のアドオンより効かなくなった(減りが悪くなった)気がする。例えば、長時間タブがアイドルになっているはずのスリープ(数時間)から復帰しても、メモリ使用量が減らないのは おかしい。

※自分のブログのページ(10個前後)をサスペンドしない設定が悪かった可能性はあり、1タブで約200MBとすれば10個で2GBにもなる。

以前も書いたが、未だにVivaldiにはChromeの省メモリ設定が ないのが関係ある気がしていて、近頃、そこに関するVivaldiの内部構造・動作が変わったのではないかと想像している。

そこで、再びAuto Tab Discardと比べて戻した。こちらにはChromeの省メモリ機能を使う設定がないので、設定に悩むことはない。なお、確実にメモリを削減するため、上記の自分のブログのページなど、サスペンドしない設定を減らした。

タブをサスペンドするアドオンを切り替える時の豆知識: 元のアドオン(A)でサスペンドしたタブがある状態でAを無効にすると、それらのタブを復活できなくなって不便なので※、新しいほう(B)と両方有効にしておき、Aではサスペンドしないようにすると良い。そして、Aでサスペンドしたタブがなくなったら、無効にして良い。

※実際には このことをすっかり忘れてMarvellousを無効にして、大量のタブが行方不明になってしまったw

あるいは、可能かは分からないが、Aでサスペンドしたタブを一旦 全部復活させてからAを無効にすれば良い。一時的にメモリ使用量が増大するが、Bでサスペンドされるまでの我慢だ。

ただ、サイトやページの作りの関係なのか、効きすぎる(サスペンドしやすい)気がしないでもない。例えば、ツイッターのページがアイドルでないのにサスペンドされるのが謎だ。※ が、不便ならサスペンドしないように設定すれば良いだろう。

※別件で調べた時に分かったのだが、AJAXのようなもので定期的に生存通知(ハートビート)を送信しているけど、ad-blockerが それをブロックしているのと関係があるかも知れない。

そう言えば、ツイートを入力中でもページがリロードされることがあるのは、そのせいかも知れない。

Auto Tab Discardに戻した(+サスペンドしないページを減らした)あとは、今まで頻繁にメモリ使用量が10GBを超えていたのが解消できた。普通に使っている分には、概ね7-9GBに収まっている感じだ。

僕にすれば それでも多いが、Chromeの宿命なので仕方なさそうだ。それに、以前調べたらFirefoxも同様(以上)に消費するので どうにもならない。

今の雰囲気だと、またAuto Tab Discardが駄目になる気がするが、その時は また探そうw もしかしたら、Chromeの省メモリ機能の設定が追加されるかも知れない。

 

Vivaldiの謎と言えば、他に、動作が妙とか動かないアドオンが増えた。: 例えば、ある時からEXIF QuickView(マウスを写真の上に載せるとEXIF情報が表示される)が動かなくなった。設定をいくら変えても直らなかったので無効にしていた※のだが、近頃は再び動くようになった。まあ、Vivaldiが中で「いろいろ」やっている関係なのだろう。

※他に同様のものを探したが、これ以上に良いものはなく、近いものでも、やっぱりVivaldiでは ちゃんと動かないものが多かったので諦めた。

  •  1
  •  0
Keys: , , , ,

(2023/6/10 13:44) その後 状況が変わり、Marvellous Suspenderの効きが悪くなった感じなので、Auto Tab Discardに換えた。 (→ 詳細)

 

数か月前に、メモリ使用量が多くなってしまったFirefoxに見切りを付けてVivaldiに乗り換えた。ところが、それから少ししたら、なぜか、Vivaldiのメモリ使用量も多くなってしまった。丁度Chrome(Chromium)の更新後だったので、うまく整合しなくなったのかと推測し、少し経てば直ると思って居たのだが、直る気配は なかった。Vivaldiがメモリリークしているのかと思って調べたが、そういう情報はなかった。

結論を先に書くと、メモリリークのようなVivaldi自体の問題ではないが、特定のChromeのアドオン(Chromeでは"extension"だが、ここでは「アドオン」と書く)とVivaldiの相性の問題のようだ。: 具体的には、アクティブでないタブを自動でサスペンド(Chromeでは"discard"?, Vivaldiでは"hibernate")するアドオン(The Great Suspenderなど)で、どういう訳か、その「Chromeの内蔵省メモリ機能を使う」設定が うまく動作しなくなる(逆に動作するように見える)のが原因のようだ。

なお、メモリ管理はLinuxとWindowsなどでは異なるだろうから、この現象は おそらくLinux版特有と思われるので、そういう題にした。

現象は、Vivaldiを起動後 数時間から数日経つと、メモリ使用量が増大する。僕は約240個のタブを開いているが、アドオン(オリジナルのThe Great Suspender)でタブを自動サスペンドしているため、通常はメモリ使用量が10GBを超えることがない。それが、ある時に10GBを超えてしまい、何もせずに(タブをアクティブにしない)待っても減らないのだ。

Vivaldiは諦めたくないので※、どういう時にメモリ使用量が増大するか頻繁にチェックしていたら、メモリ使用量が増大している時はプロセス数(≒ アクティブなタブ数*k(1.5辺り?) + B(10辺り?))も多くなっている(例: 80以上)ことが分かった。* それで、定期的(15分ごと)にVivaldiのプロセス数とメモリ使用量を記録・チェックしてみたが、切っ掛けは分からなかった。

※実はちょっと くじけてw、(省メモリの評判がある)Edgeを試したが、Windows版には あるらしい省メモリの設定がLinux版には なかったので、すぐに止めた。

*アクティブでないタブがサスペンドされなくなるのか、サスペンドしたタブ(のプロセス)がゾンビのように復活するのだろうかと想像するが、詳細は分からない。

それから、表示するページやVivaldiの設定やアドオンに関係するかと考えて、原因になっていそうなページを開いてメモリ使用量の増加を調べたリ、Vivaldiの設定を変えてみたり、ほとんどのアドオンを無効にしたり、タブを自動サスペンドするアドオンを換えたり、そのアドオンの設定を変えてみたが、改善しなかった。

それで、駄目元(と言うか破れかぶれ)で、自動サスペンドするアドオン(今はThe Marvellous Suspenderを使っている)の設定"Apply Chrome's built-in memory-saving when suspending"(以下、「省メモリ設定」)をoffにしたらどうなるか試してみた。

VivaldiでThe Marvellous Suspenderの省メモリ設定(下側)をoffにして試した。

この設定をoffにすると、タブのメモリが「うまく」解放されないだろうから、メモリ使用量が更に増大して とんでもないことになるはずだから普通はしないが、「onにしても増大するなら、offでは 一体どのくらいひどくなるのか見てやろうじゃないか!」と思ったのだ。

すると、いつ「とんでもないこと」が起こるかと待ち構えているうちに忘れてしまい、気付いたら問題が起こらなくなって居た。信じられないことだが、再度 省メモリ設定をonにしたら現象が起こったので、どうやら これが原因だったようだ。

今も半信半疑で使っているのだが、Vivaldiを起動してから6日くらい経っても現象は起こっていない。

5/18 9:13 プロセス数: 41, メモリ使用量: 5.5GB (平均: 133MB/プロセス)

どうしてアドオンの省メモリ設定が逆になる(正確には「逆に働く」)のかは分からない。想像だが、元々Vivaldiは(Chromiumに対する)その設定をonにしていて、アドオンでもonにすると、設定が反転したり動作が無効になってしまうのだろうか。

フォーラムに出せば何か分かりそうだが、Vivaldiのフォーラムかアドオンのフォーラム(あれば)か、どちらに出せばいいか不明だ。あと、他の方が特に文句を言っていないのも気になる。そういう場合は僕の環境に問題があることがある。

なお、省メモリ設定のないアドオン(確か、Auto Tab Discard)でも現象が起こったので、設定があるもののonに相当するのだろう。ちなみに、本物のChromeでは現象が起こらない(オリジナルのThe Great Suspenderが ちゃんと動く)ので、Vivaldiに何かありそうだ。あるいは、ChromeとChromiumに違いがある?

書いたあとで思い付いたのだが、Vivaldiにはタブをhibernateする機能がある(惜しいことに自動でない)。それで、アドオンがタブをChromeの省メモリでない方法で「サスペンド」すると(そういう機能があるのかや、それに意味があるのかも不明)、うまい具合にVivaldiのhibernate機能が使われて、メモリが「うまく」解放されるのだろうか? 逆に、Chromeの省メモリでサスペンドすると、Vivaldiの管理とズレてしまって うまく解放されないことがあるのかも知れない。

とりあえず うまく行って良かった。もうしばらく様子を見たい。フォーラムは疲れる(気力が要る)ので、覚えていて余力がある場合にするw

(5/27 6:07) その後 メモリ使用量の増大は起こっていないので、解決したようだ。 (→ 題を更新した。)

 

おまけ (5/23 5:03)

(メモリ使用量には関係ないが、Vivaldiとアドオンに関連するので書く。) ブラウザのウインドウに任意の文字列を追加するアドオンWindow Namer and Restorer BETA(以下、Window Namer)はKeePassXC用のアドオンKeePassXC-Browserと相性が悪い。どういう訳か、KeePassXCが取得するタブのURLが(同じウインドウの)別のタブのものになってしまうようで、KeePassXCから別のURLに対する認証情報を取得してしまう。

近頃、ID・パスワードが自動入力されない、あるいは、別のサイトのものが入力されることがあって、おかしいと思って調べたら、Window Namerが悪かった。

Window Namerで ウインドウの名前にカテゴリ(例: "[News]")を付けることで、複数のウインドウの区別が楽になって便利だったが、KeePassXCが誤動作するのは かなり不便なので使うのを止めた。

なお、これはVivaldiだけで起こる問題なのか、Chromeでも起こるのかは不明(未確認)。

 

PS. そういえば、Firefoxでも同様な現象が起こっていたが、まあ、あっちは構造も仕組みも全く違うから、単に腐ってメモリリークしているだけなのだろう。。。

PS2. 本題には関係ないが、Ceronでちらっと目にした、「検索にクソブログしか出て来なくてムカつく」とかいう件について書く。

まず、そのスレに書かれていた、最後に「いかがでしたか?」と出るのは ブログでなくアフィリエイトや まとめサイトだ。一緒にしないで欲しい。そして、ブログやWordpressサイトをひっくるめて「クソ」と言われたり、一括して検索結果から除外したいとか言われるとムカつく。まあ、ブログサイト全体を平均すると役に立たないものが多いだろうが(でも、今はアクティブなサイトが減っているから、アクティブなものだけなら有用なものが多い気はする(希望))。

個々のブログサイトの質、検索結果に出て来る候補のマッチ度合いは玉石混交だけど、それは(昔の)図書館などで目的の情報を探せるかどうかに似ている気がする。: 検索する側の能力・努力や探す気力・情熱も関係するのではないか。

細かい経験則として、英語でも検索すると、目指す答えに近付く可能性が高まることはある。個人的には、分野によるが、コンピュータ関係は英語のほうが ずっと効率が良い気はしている。

とは言え、英語のサイトにも、新しいページに古い情報をそのまま載せていたり、他サイトのコピペや最後に「いかがでしたか?」のような類のクソは多いので、安心はできない。

そして、自分で碌に考えも試しもせず、ちょっと検索してパッと「答え」を得ようとするのは安直過ぎると思うし、それでは無理だ。「そんなに世の中は甘くない」だ。そもそも、今は昔よりずっと情報が多いではないか。

  •  0
  •  0
Keys: , , ,