Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTML+Javascript: жрёт память / 10 сообщений из 10, страница 1 из 1
12.11.2015, 15:31
    #39101935
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
Есть несложная html страница с javascript, она рисует график в динамике, грубо говоря:
по таймеру шлет ajax запросы к WCF сервису, получает массив данных и рисует график использования памяти, ЦП, сетевых адаптеров, и еще два графика по сервису.

Пустил в Firefox, смотрю в Taskmanager: Working set(Memory) и Private Working set(Memory) значения практически только увеличиваются
Например, на старте 80 мб и 40 мб, через 10 минут - 110 мб и 70 мб соответственно.

Вопрос:
Кто ест память? куда смотреть?
Может там с массивами я не так работаю? Я сделал их глобальными, чтобы не передават в функцию. До того я передавал массив кадый раз внутрь
так память росла немерено. Сейчас немного лучше, но не хорошо.

Я прицепил файл html
...
Рейтинг: 0 / 0
12.11.2015, 16:03
    #39102000
Малыхин Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
https://www.google.ru/webhp?sourceid=chrome-instant&rlz=1C1MSIM_enRU616RU616&ion=1&espv=2&es_th=1&ie=UTF-8#q=профилирование javascript&es_th=1

Прикрепленный файл бесполезен без всего зоопарка подключаемых библиотек
т.е. без библиотек файл работать не будет и определить что работает не правильно невозможно
...
Рейтинг: 0 / 0
12.11.2015, 19:01
    #39102269
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
Хорошо, такой вопрос, есть функция и ее вызов
Там я добавил два вызова, чтобы (по идее) уничтожить массив и освободить память,
так правильно?

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
        function getData_CPU(nextValue) {

            if (data_CPU.length > numvalues)
                data_CPU = data_CPU.slice(1);
            var len = data_CPU.length;
            var lastvalue = (data_CPU.length < len || data_CPU[len - 1] == null || data_CPU[len - 1] == undefined) ? 0 : data_CPU[len - 1];

            var randomValue = 0;
            if (nextValue == undefined) {
                randomValue = lastvalue == undefined ? 0 : lastvalue;
            } else {
                randomValue = nextValue;
            }
            randomValue = ma.max(randomValue, 0);
            randomValue = ma.min(randomValue, 100);

            data_CPU.push(randomValue);
            var len0 = data_CPU.length;
            if (len0 > numvalues) {
                data_CPU = data_CPU.slice(1);
            }

            // Zip the generated y values with the x values

            var res = [];
            for (var i = 0; i < data_CPU.length; ++i) {
                res.push([i, data_CPU[i]]);
            }
            return res;
        }
// ....
 var temp_series = [getData_CPU(nextValue)];
                optionsCPU.yaxis.max = maxYaxis_CPU;
                plotCPU.setData(temp_series);
                // Since the axes don't change, we don't need to call plot.setupGrid()
                plotCPU.draw();
				delete temp_series; // <----- Это я добавил
				temp_series = null; // <-----
...
Рейтинг: 0 / 0
13.11.2015, 08:33
    #39102576
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
Winnipuh , ты всерьез считаешь, что публикуя какие-то огрызки кто-то сможет понять почему у тебя идет расход памяти?
...
Рейтинг: 0 / 0
13.11.2015, 09:11
    #39102596
qi_ip
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
krvsa , если не секрет, как JavaScript работает с оперативкой? Тут тоже есть какой-то сборщик мусора или же есть процесс - память используется, закончился процесс - память освободилась?
...
Рейтинг: 0 / 0
13.11.2015, 09:33
    #39102621
Alexander A. Sak
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
https://developer.mozilla.org/en-US/docs/Web/JavaScript/Memory_Management As of 2012, all modern browsers ship a mark-and-sweep garbage-collector.
...
Рейтинг: 0 / 0
13.11.2015, 10:05
    #39102654
krvsa
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
qi_ipТут тоже есть какой-то сборщик мусора
Да.

https://developer.mozilla.org/ru/docs/Web/JavaScript/Memory_Management
http://artbrains.ru/blog/post/view/id/54
...
Рейтинг: 0 / 0
13.11.2015, 11:34
    #39102749
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
krvsa Winnipuh , ты всерьез считаешь, что публикуя какие-то огрызки кто-то сможет понять почему у тебя идет расход памяти?

вообще-то не считаю, но все-таки, по приведенному куску задал вопрос, думаю можно ответить - как удалить объект или отметить его дя сборщика мусора.
...
Рейтинг: 0 / 0
13.11.2015, 12:47
    #39102830
Малыхин Сергей
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
авторкак удалить объект или отметить его дя сборщика мусора.
Никак.
Сборщик мусора во всех реализациях JS вызывается автоматически и управлять его работой невозможно.
В приведенном бессмысленном огрызке не может быть потери памяти.

Открой уже отладчик и посмотри какой код приводит к потреблению памяти
YouTube Video
...
Рейтинг: 0 / 0
13.11.2015, 15:01
    #39102991
Winnipuh
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
HTML+Javascript: жрёт память
Малыхин Сергейавторкак удалить объект или отметить его дя сборщика мусора.
Никак.
Сборщик мусора во всех реализациях JS вызывается автоматически и управлять его работой невозможно.
В приведенном бессмысленном огрызке не может быть потери памяти.

Открой уже отладчик и посмотри какой код приводит к потреблению памяти
YouTube Video
...
Рейтинг: 0 / 0
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / HTML+Javascript: жрёт память / 10 сообщений из 10, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]