Фехня какая-то.. Выводит оно окошко, и что? Я и так в курсе, что память течёт. Но как узнать, откуда течёт?
Без бага и ошибки я софт 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)
Отсутствует
ietab по утечкам на первом месте. Ещё Slashy (), target alert.
Ещё gamil.com и mail.yandex.ru...
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Кстати, тут расширение небольшое появилось: Leak Detector.
Что то я не понял как оно работает это расширение.. установил а ничего посмотреть не могу? объясните тупому..
Обращайтесь ко мне на Ты! Когда будем на встрече и при галстуках будем Вы-кать:)
Отсутствует
hiJOybOng
Как олько появляется утечка - он окно выводит. до этого нечего. Сейчас может ещё на русский переведу, чтоб понятней было.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
stoneflash
ааа! понял! В принципе в переводе с английского я так и думал! ПРосто вдруг что то еще можно посмотреть... статистику какую ..
Обращайтесь ко мне на Ты! Когда будем на встрече и при галстуках будем Вы-кать:)
Отсутствует
Да уж.. За 15 минут окошко раз 5 выскакивало.. первый раз при передаче плэйлиста винампу, второй раз при добавлении закладки и 3 раза из за скриптов на форуме одном... Ужас Бедный ФФ
Обращайтесь ко мне на Ты! Когда будем на встрече и при галстуках будем Вы-кать:)
Отсутствует
Меня достали постоянно вылетающие окна, снёс расширение к чертям. Тем более толку от него ноль.
Без бага и ошибки я софт 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)
Отсутствует
djet
Я пару не очень нужных расширений снёс по его совету.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
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)
Отсутствует
djet
Показывает, какое расширение не выгрузило из памяти свои chrome. Где очень много - те и сносить.
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Общий вопрос: как ускорить работу Fx? Сообщите фактами, если не достаточные, то хотя бы необходимые.
Основные вопросы, которые меня волнуют:
1. Наличиствует пяток установленных тем, которые никогда не юзаються -- они как-то тормозят работу? загружают память?
2. Также в наличии имеем штуки 4 отключенных расширения -- это как-нибудь сказывается?
Применённая тема (Qute) вызывает повышенное торможение? или без темы Fx бегает быстрее?
p.s. Основная проблемма - недостаток памяти (128mb, win2k, 300mhz)
Но что-то всерьёз менять,
Не побоясь в мелочах потерять
Отсутствует
или без темы Fx бегает быстрее?
Насколько знаю, фокс без темы не бывает. Если ничего не ставить, будет просто дефолтная тема. Но тема, возможно, может вызывать повышенное потребление памяти и некоторое замедление работы.
Black holes were created when the God divided by zero.
Отсутствует
Supermaks
Каждому разработчиууууу.... Всеь нет скоро бы обителся бы!
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Reiser
Вряд ли... Наличие отключённых расширений скорее всего записано в файле и просто при загрузке из него подгружается название расширение и его описание на английском языке...
F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!
Отсутствует
лучше использовать leak gauge, ибо leak detector не всегда утечки показывает.
!
Отсутствует
Serg_T
Leak Detector
Leak Gauge - страница где про него можно прочитать (на английском языке)
F.I.R.E.F.O.X.: Fearsome, Intimidating, Redhead-Eating Fiend from the Ominous Xenopolis
Скиньтесь мне на новый MacBook Pro! Кто сколько может!
Отсутствует
вот, откопал свою руссифицированную модификацию...
<!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
!
Отсутствует
Serg_T
Почему-то этот leak detector каждый раз придобавлении страницы в закладки выдаёт утечку
Так и есть. Читай как вызывать утечки на http://dbaron.org/mozilla/leak-monitor/
«I actually hate programming, but I love solving problems» © Rasmus Lerdorf, PHP's Creator
Отсутствует
Иногда балуюсь программами оптимизации системы, в надежде увидеть в них что-нибудь "этакое", хотя и не доверяю им. Есть такая вещь TuneUp Utilities, кому-то она будет даже полезная.
Смотрите прикол:
Отсутствует