Полезная информация

Многие проблемы быстрее решаются поиском по форуму и чтением FAQ, чем созданием новой темы и томительным ожиданием ответа.

№15105-05-2006 11:12:22

Supermaks
Участник
 
Группа: Members
Зарегистрирован: 05-12-2005
Сообщений: 30

Re: Об утечках памяти в Firefox

Кстати, тут расширение небольшое появилось: Leak Detector.

При закрытии попап-ов из популярных "течет" flashblock 1.5.1, из непопулярных - хyzproxy 1.13

Отсутствует

 

№15205-05-2006 18:39:05

djet
Участник
 
Группа: Extensions
Откуда: 404 Not Found
Зарегистрирован: 20-11-2004
Сообщений: 2611

Re: Об утечках памяти в Firefox

Фехня какая-то.. Выводит оно окошко, и что? Я и так в курсе, что память течёт. Но как узнать, откуда течёт?


Без бага и ошибки я софт Mozilla не люблю!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Microsoft® Office Outlook® 2007 (12.0.4518.1014) MSO (12.0.4518.1014)

Отсутствует

 

№15305-05-2006 19:05:37

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Об утечках памяти в Firefox

ietab по утечкам на первом месте. Ещё Slashy (:/), target alert.
Ещё gamil.com и mail.yandex.ru... :usch: :/


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№15405-05-2006 19:07:22

hiJOybOng
Участник
 
Группа: Members
Откуда: SPB
Зарегистрирован: 03-02-2006
Сообщений: 595

Re: Об утечках памяти в Firefox

Кстати, тут расширение небольшое появилось: Leak Detector.

Что то я не понял как оно работает это расширение.. установил а ничего посмотреть не могу?:( объясните тупому..


Обращайтесь ко мне на Ты! Когда будем на встрече и при галстуках будем Вы-кать:)

Отсутствует

 

№15505-05-2006 19:12:37

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Об утечках памяти в Firefox

hiJOybOng
Как олько появляется утечка - он окно выводит. до этого нечего. Сейчас может ещё на русский переведу, чтоб понятней было.


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№15605-05-2006 19:16:21

hiJOybOng
Участник
 
Группа: Members
Откуда: SPB
Зарегистрирован: 03-02-2006
Сообщений: 595

Re: Об утечках памяти в Firefox

stoneflash
ааа! понял! В принципе в переводе с английского я так и думал! ПРосто вдруг что то еще можно посмотреть... статистику какую ..


Обращайтесь ко мне на Ты! Когда будем на встрече и при галстуках будем Вы-кать:)

Отсутствует

 

№15705-05-2006 19:30:58

hiJOybOng
Участник
 
Группа: Members
Откуда: SPB
Зарегистрирован: 03-02-2006
Сообщений: 595

Re: Об утечках памяти в Firefox

Да уж.. За 15 минут окошко раз 5 выскакивало.. первый раз при передаче плэйлиста винампу, второй раз при добавлении закладки и 3 раза из за скриптов на форуме одном... Ужас:( Бедный ФФ:(


Обращайтесь ко мне на Ты! Когда будем на встрече и при галстуках будем Вы-кать:)

Отсутствует

 

№15805-05-2006 19:47:23

djet
Участник
 
Группа: Extensions
Откуда: 404 Not Found
Зарегистрирован: 20-11-2004
Сообщений: 2611

Re: Об утечках памяти в Firefox

Меня достали постоянно вылетающие окна, снёс расширение к чертям. Тем более толку от него ноль.


Без бага и ошибки я софт Mozilla не люблю!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Microsoft® Office Outlook® 2007 (12.0.4518.1014) MSO (12.0.4518.1014)

Отсутствует

 

№15905-05-2006 20:46:23

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Об утечках памяти в Firefox

djet
Я пару не очень нужных расширений снёс по его совету.


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№16005-05-2006 21:30:32

djet
Участник
 
Группа: Extensions
Откуда: 404 Not Found
Зарегистрирован: 20-11-2004
Сообщений: 2611

Re: Об утечках памяти в Firefox

stoneflash
Может, я торможу, но где это расширение указывает на конкретный источник утечки? Или без телепатии тут не обойтись?


Без бага и ошибки я софт Mozilla не люблю!
Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.8.1.1) Gecko/20061204 Firefox/2.0.0.1
Microsoft® Office Outlook® 2007 (12.0.4518.1014) MSO (12.0.4518.1014)

Отсутствует

 

№16105-05-2006 22:03:00

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Об утечках памяти в Firefox

djet
Показывает, какое расширение не выгрузило из памяти свои chrome. Где очень много - те и сносить.


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№16205-05-2006 22:22:32

Dimanish
Участник
 
Группа: Extensions
Зарегистрирован: 31-03-2005
Сообщений: 2371

Re: Об утечках памяти в Firefox

Да ладно вам народ.
Фокс - одна большая утечка памяти.


Тут должна была быть подпись. А, да... Вот она и есть.

Отсутствует

 

№16306-05-2006 14:18:18

Supermaks
Участник
 
Группа: Members
Зарегистрирован: 05-12-2005
Сообщений: 30

Re: Об утечках памяти в Firefox

Вот если бы это расширение сразу репорты делало разработчикам....

"Что-то я замечтался* :music:

Отсутствует

 

№16409-05-2006 00:51:45

Reiser
Участник
 
Группа: Members
Откуда: Долгопрудный
Зарегистрирован: 19-12-2005
Сообщений: 89

Re: Об утечках памяти в Firefox

Общий вопрос: как ускорить работу Fx? Сообщите фактами, если не достаточные, то хотя бы необходимые.
Основные вопросы, которые меня волнуют:
1. Наличиствует пяток установленных тем, которые никогда не юзаються -- они как-то тормозят работу? загружают память?
2. Также в наличии имеем штуки 4 отключенных расширения -- это как-нибудь сказывается?
Применённая тема (Qute) вызывает повышенное торможение? или без темы Fx бегает быстрее?
p.s. Основная проблемма - недостаток памяти (128mb, win2k, 300mhz)


Но что-то всерьёз менять,
Не побоясь в мелочах потерять

Отсутствует

 

№16509-05-2006 00:54:46

LattyF
Участник
 
Группа: Members
Откуда: г. Самара
Зарегистрирован: 19-06-2005
Сообщений: 2924

Re: Об утечках памяти в Firefox

Reiser пишет:

или без темы Fx бегает быстрее?

Насколько знаю, фокс без темы не бывает. Если ничего не ставить, будет просто дефолтная тема. Но тема, возможно, может вызывать повышенное потребление памяти и некоторое замедление работы.


Black holes were created when the God divided by zero.

Отсутствует

 

№16609-05-2006 04:09:19

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Об утечках памяти в Firefox

Supermaks
Каждому разработчиууууу.... Всеь нет скоро бы обителся бы!


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№16702-10-2006 01:08:44

Reiser
Участник
 
Группа: Members
Откуда: Долгопрудный
Зарегистрирован: 19-12-2005
Сообщений: 89

Re: Об утечках памяти в Firefox

Скажите, а наличие отключенных расширений как-то влияет на скорость загрузки/работы FF?


Но что-то всерьёз менять,
Не побоясь в мелочах потерять

Отсутствует

 

№16802-10-2006 07:49:31

Modex
_
 
Группа: Extensions
Откуда: Краснодар, Россия
Зарегистрирован: 10-10-2004
Сообщений: 3311

Re: Об утечках памяти в Firefox

Reiser
Вряд ли... Наличие отключённых расширений скорее всего записано в файле и просто при загрузке из него подгружается название расширение и его описание на английском языке...


F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!

Отсутствует

 

№16902-10-2006 10:19:30

Serg_T
Участник
 
Группа: Members
Зарегистрирован: 30-03-2005
Сообщений: 180

Re: Об утечках памяти в Firefox

Дайте кто-нибудь, плиз, прямую ссылку на этот leak detector

Отсутствует

 

№17002-10-2006 11:40:50

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Об утечках памяти в Firefox

лучше использовать leak gauge, ибо leak detector не всегда утечки показывает.


!

Отсутствует

 

№17102-10-2006 19:52:02

Modex
_
 
Группа: Extensions
Откуда: Краснодар, Россия
Зарегистрирован: 10-10-2004
Сообщений: 3311

Re: Об утечках памяти в Firefox

Serg_T
Leak Detector
Leak Gauge - страница где про него можно прочитать (на английском языке)


F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!

Отсутствует

 

№17202-10-2006 20:07:57

Dark-Demon
Участник
 
Группа: Members
Зарегистрирован: 20-02-2006
Сообщений: 1278

Re: Об утечках памяти в Firefox

вот, откопал свою руссифицированную модификацию...

Выделить код

Код:

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">
<!--
  vim:sw=4:ts=4:et:
  ***** BEGIN LICENSE BLOCK *****
  Version: MPL 1.1/GPL 2.0/LGPL 2.1

  The contents of this file are subject to the Mozilla Public License Version
  1.1 (the "License"); you may not use this file except in compliance with
  the License. You may obtain a copy of the License at
  http://www.mozilla.org/MPL/

  Software distributed under the License is distributed on an "AS IS" basis,
  WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
  for the specific language governing rights and limitations under the
  License.

  The Original Code is leak-gauge.pl

  The Initial Developer of the Original Code is the Mozilla Foundation.
  Portions created by the Initial Developer are Copyright (C) 2005
  the Initial Developer. All Rights Reserved.

  Contributor(s):
    L. David Baron <dbaron@dbaron.org>, Mozilla Corporation (original author)

  Alternatively, the contents of this file may be used under the terms of
  either the GNU General Public License Version 2 or later (the "GPL"), or
  the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
  in which case the provisions of the GPL or the LGPL are applicable instead
  of those above. If you wish to allow use of your version of this file only
  under the terms of either the GPL or the LGPL, and not to allow others to
  use your version of this file under the terms of the MPL, indicate your
  decision by deleting the provisions above and replace them with the notice
  and other provisions required by the GPL or the LGPL. If you do not delete
  the provisions above, a recipient may use your version of this file under
  the terms of any one of the MPL, the GPL or the LGPL.

  ***** END LICENSE BLOCK *****
-->
<html lang="en-US">
<head>
<title>Leak Gauge</title>

<style type="text/css">
body {margin: 0; padding: 1em;}
pre { margin: 0; }
pre.output { border: medium solid steelblue; padding: 1em; margin: 1em; }
input {float:right}
h1 {display: inline}
</style>
<script type="text/javascript">

function run() {
    var result = "";

    // A hash of objects (keyed by the first word of the line in the log)
    // that have two public methods, handle_line and dump (to be called using
    // call, above), along with any private data they need.
    var handlers = {
        "DOMWINDOW": {
            count: 0,
            windows: {},
            handle_line: function(line) {
                var match = line.match(/^([0-9a-f]*) (\S*)(.*)/);
                if (match) {
                    var addr = match[1];
                    var verb = match[2];
                    var rest = match[3];
                    if (verb == "created") {
                        var m = rest.match(/ outer=([0-9a-f]*)$/);
                        if (!m)
                            throw "outer expected";
                        this.windows[addr] = { outer: m[1] };
                        ++this.count;
                    } else if (verb == "destroyed") {
                        delete this.windows[addr];
                    } else if (verb == "SetNewDocument") {
                        var m = rest.match(/^ (.*)$/);
                        if (!m)
                            throw "URI expected";
                        this.windows[addr][m[1]] = true;
                    }
                }
            },
            dump: function() {
                for (var addr in this.windows) {
                    var winobj = this.windows[addr];
                    var outer = winobj.outer;
                    delete winobj.outer;
                    result += "Leaked " + (outer == "0" ? "outer" : "inner") +
                              " window " + addr + " " +
                              (outer == "0" ? "" : "(outer " + outer + ") ") +
                              "at address " + addr + ".\n";
                    for (var uri in winobj) {
                        result += " ... with URI \"" + uri + "\".\n";
                    }
                }
            },
            summary: function() {
                var len = 0;
                for (var w in this.windows)
                    ++len;
                result += 'Leaked ' + len + ' out of ' +
                          this.count + " DOM Windows\n";
            }
        },
        "DOCUMENT": {
            count: 0,
            docs: {},
            handle_line: function(line) {
                var match = line.match(/^([0-9a-f]*) (\S*)(.*)/);
                if (match) {
                    var addr = match[1];
                    var verb = match[2];
                    var rest = match[3];
                    if (verb == "created") {
                        this.docs[addr] = {};
                        ++this.count;
                    } else if (verb == "destroyed") {
                        delete this.docs[addr];
                    } else if (verb == "ResetToURI" ||
                               verb == "StartDocumentLoad") {
                        var m = rest.match(/^ (.*)$/);
                        if (!m)
                            throw "URI expected";
                        this.docs[addr][m[1]] = true;
                    }
                }
            },
            dump: function() {
                for (var addr in this.docs) {
                    var doc = this.docs[addr];
                    result += "Leaked document at address " + addr + ".\n";
                    for (var uri in doc) {
                        result += " ... with URI \"" + uri + "\".\n";
                    }
                }
            },
            summary: function() {
                var len = 0;
                for (var w in this.docs)
                    ++len;
                result += 'Leaked ' + len + ' out of ' +
                          this.count + " documents\n";
            }
        },
        "DOCSHELL": {
            count: 0,
            shells: {},
            handle_line: function(line) {
                var match = line.match(/^([0-9a-f]*) (\S*)(.*)/);
                if (match) {
                    var addr = match[1];
                    var verb = match[2];
                    var rest = match[3];
                    if (verb == "created") {
                        this.shells[addr] = {};
                        ++this.count;
                    } else if (verb == "destroyed") {
                        delete this.shells[addr];
                    } else if (verb == "InternalLoad" ||
                               verb == "SetCurrentURI") {
                        var m = rest.match(/^ (.*)$/);
                        if (!m)
                            throw "URI expected";
                        this.shells[addr][m[1]] = true;
                    }
                }
            },
            dump: function() {
                for (var addr in this.shells) {
                    var doc = this.shells[addr];
                    result += "Leaked docshell at address " + addr + ".\n";
                    for (var uri in doc) {
                        result += " ... which loaded URI \"" + uri + "\".\n";
                    }
                }
            },
            summary: function() {
                var len = 0;
                for (var w in this.shells)
                    ++len;
                result += 'Leaked ' + len + ' out of ' +
                          this.count + " docshells\n";
            }
        }
    };

    netscape.security.PrivilegeManager.enablePrivilege("UniversalXPConnect");

    const cs = Components.classes;
    const ifs = Components.interfaces;

    var filePicker = cs["@mozilla.org/filepicker;1"].
                         createInstance(ifs.nsIFilePicker);
    filePicker.init(window, "Select NSPR Leak Log", ifs.nsIFilePicker.modeOpen);
    if (filePicker.show() != ifs.nsIFilePicker.returnOK)
        return;

    var is = cs["@mozilla.org/network/file-input-stream;1"].
                 createInstance(ifs.nsIFileInputStream);
    const PR_RDONLY = 0x01;
    is.init(filePicker.file, PR_RDONLY, 0, 0);
    if (!(is instanceof ifs.nsILineInputStream))
        return;
    var line = { value: "" };
    do {
        var more = is.readLine(line);// yuck, returns false for last valid line

        // strip off initial "-", thread id, and thread pointer; separate
        // first word and rest
        var matches = line.value.match(/^\-?[0-9]*\[[0-9a-f]*\]: (\S*) (.*)$/);
        if (matches) {
            var handler = matches[1];
            var data = matches[2];
            if (typeof(handlers[handler]) != "undefined") {
                handlers[handler].handle_line(data);
            }
        }
    } while (more);

    for (var handler in handlers)
        handlers[handler].dump();
    if (result.length)
        result += "\n";
    result += "Summary:\n";
    for (var handler in handlers)
        handlers[handler].summary();

    var out = document.createElement("pre");
    out.className = "output";
    out.appendChild(document.createTextNode(result));
    document.body.appendChild(out);
}

</script>
</head>
<body>
<input type="button" onclick="javascript:run()" value="Проанализировать" />
<h1>Leak Gauge</h1> 
<blockquote>Транслят бай Dark-Demon</blockquote>

<pre>$Id: leak-gauge.html,v 1.6 2006/01/14 00:27:41 dbaron%dbaron.org Exp $</pre>

<p>Сей скрипт предназначен для выявления утечек памяти.</p>

<p>Чтобы включить ведение браузером логов выделения и освобождения памяти следует перед запуском браузера установить следующие системные переменные:</p>
<pre>  NSPR_LOG_MODULES=DOMLeak:5,DocumentLeak:5,nsDocShellLeak:5
  NSPR_LOG_FILE=nspr.log     <i>(или любое другое имя файла)</i></pre>
<ul>
<li>В виндовой консоли это делается так (хотя, под XP SP2 у меня это не прокатило - пришлось устанавливать их в Свойства системы -> Дополнительно -> Переменные среды"):
<pre>    set VAR=value</pre></li>

<li> In an sh-based shell such as bash, set environment variables with
<pre>    export VAR=value</pre></li>
<li>In a csh-based shell such as tcsh, set environment variables with
<pre>    setenv VAR value</pre></li>
</ul>

<p><strong>Этот скрипт не заработает, если эта страница будет открыта из сети - она должна быть открыта с локального диска. 
Этот скрипт работает только в Mozilla-based браузерах.
Когда вы нажмете на кнопку, вам будет выдано предупреждение, ответьте утвердительно.
Будьте внимательны: при каждом запуске браузера файл с логами обнуляется.</strong></p>

<h2>Как это работает?</h2>
<p>Запустите браузер, поработайте с ним какое-то время и закройте. Скопируйте файл с логами куда-нибудь (иначе он будет стерт при запуске браузера). Запустите браузер, откройте эту страницу, нажмите на кнопку "Проанализировать" и укажите скопированный вами файл с логами</p>

<p>Другой вариант. Запускайте браузер посредством прилагающегося "leaks.bat" тогда указанные выше переменные будут прописаны автоматически. Логи будут вестить в файл "leaks.log", а логи предыдущей сессии будут переименованы в "leaks.txt". В остальном все аналогично: запустите браузер, поработайте с ним, закройте, снова откройте, перейдите к этой странице, нажмите на кнопку "Проанализировать" и укажите файл "leaks.txt"</p>

<h2>И что дальше?</h2>
<p>А дальше смотрим результаты. Если мы видим только пару утечек, происходящих один раз за всю сессию, то беспокоиться не стоит (хотя, если вы - разработчик, то рекомендуется всеже исправить код), если же мы видим множественные утечки пропорциональные числу посещенных страниц, то можно паниковать ;) Попробуйте поотключать какие-либо расширения - в большинстве случаев виноваты именно они.</p>
</body>
</html>

а вот содержимое упомянутого батничка:

Выделить код

Код:

set NSPR_LOG_MODULES=DOMLeak:5,DocumentLeak:5,nsDocShellLeak:5
set NSPR_LOG_FILE=%cd%\leaks.log
del /Q leaks.txt
ren leaks.log leaks.txt
firefox.exe

!

Отсутствует

 

№17303-10-2006 09:58:22

Serg_T
Участник
 
Группа: Members
Зарегистрирован: 30-03-2005
Сообщений: 180

Re: Об утечках памяти в Firefox

Почему-то этот leak detector каждый раз придобавлении страницы в закладки выдаёт утечку :/

Отсутствует

 

№17403-10-2006 13:37:48

stoneflash
Хитрый Лис
 
Группа: Extensions
Откуда: Msk
Зарегистрирован: 02-04-2006
Сообщений: 4341

Re: Об утечках памяти в Firefox

Serg_T

Почему-то этот leak detector каждый раз придобавлении страницы в закладки выдаёт утечку

Так и есть. Читай как вызывать утечки на http://dbaron.org/mozilla/leak-monitor/


«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator

Отсутствует

 

№17511-02-2008 19:20:55

Redisych
Участник
 
Группа: Extensions
Зарегистрирован: 18-07-2005
Сообщений: 931
UA: Firefox 2.0

Re: Об утечках памяти в Firefox

Иногда балуюсь программами оптимизации системы, в надежде увидеть в них что-нибудь "этакое", хотя и не доверяю им. Есть такая вещь TuneUp Utilities, кому-то она будет даже полезная.
Смотрите прикол:
http://forum.mozilla-russia.org/uploaded/TAU.png

Отсутствует

 

Board footer

Powered by PunBB
Modified by Mozilla Russia
Copyright © 2004–2011 Mozilla Russia
Язык отображения форума: [Русский] [English]