Популярные вопросы по тегу MEMORY-MANAGEMENT

Как программно получить размер страницы ядра Linux

... проблема. Я обнаружил, что люди в основном 5 используют getpagesize() или sysconf (_SC_PAGE_SIZE). Эти 4 два параметра отсутствуют в заголовках ядра 3 ia64, поэтому я не могу их использовать. Есть 2 ли другой способ получить среду выполнения 1 PAGE_SIZE? Варианты, которые я ищу: Читаете какой-нибудь файл в / ...

Почему и когда использовать `intptr_t` для приведения типов в C?

... еститься 10 в int... поэтому приведение их к типу long int решило 9 проблему. Иногда адреса памяти слишком велики 8 для long int? Теперь, когда я думаю об этом, я думаю, что 7 это возможно, если у вас есть > 4 ГБ 6 ОЗУ, и в этом случае адреса памяти могут 5 превышать 2 ^ 32 - 1 (максимальное значение 4 для длинных целых чисел без знака...), но 3 C был создан задолго до того, как э ...

Реализация Alloca

... этого был нормальный синтаксис 5 вызова функции, то есть с использованием 4 голой функции или чего-то еще, чтобы она 3 выглядела как обычная alloca(). Правка №2: Ах, какого 2 черта, вы можете предположить, что мы не 1 ...

malloc в цикле for

... a; else if (i==2) a2=a; } *a1=5; *a2=4; так что мой вопрос если 10 я использую printf для печати a1 и a2, переменная 9 a1 будет иметь значение 5, а a2 - значение 8 4? Итак, если я использую malloc для выделения 7 памяти и точек в этом пространстве памяти 6 и ...

Выделение большого блока памяти в C++

... й 2 расчет был неверным, и я выделял около 38 1 ГБ. Я исправил код, чтобы выделить 15 ГБ. #include <iostream> using namespace std; int main(int argc, char* argv[]) { unsigned long N = 22000; unsigned long M = 44100; unsigned long blk_dim = N*(M-1)*2; float* blk = new float[blk_dim]; unsigned long b = (unsigned long) blk; float*** a = new float**[N]; for (int m = 0; m<N; m+=1) { unsigned long offset1 = m*(M - 1) ...

Ядро linux - как получить физический адрес (управление памятью)?

... ения глобального каталога 9 страницы (cr3 + index) можно рассчитать 8 с помощью pgd_offset() MACRO. Адрес смещения верхнего каталога 7 страницы можно рассчитать с помощью pud_offset() API. Адрес 6 смещения среднего каталога страницы можно 5 рассчитать с помощью pmd_offset() API. Адрес смещения записи 4 ...

Что происходит, когда переменная выходит за пределы области видимости?

... ены первыми). Итак, C не является 6 управляемым языком, что происходит с переменными, которые 5 здесь выходят за рамки? Я создал небольшой 4 тестовый пример на C: #include <stdio.h> int main(void){ int *ptr; { // New scope int tmp = 17; ptr = &tm ...

Способы работы с большими массивами Numpy?

... учаи, когда вам нужно выполнить 14 множество промежуточных операций с одним 13 или несколькими большими массивами Numpy. Это 12 может быстро привести к появлению тегов 11 MemoryError. В моих исследованиях U обнаружил, что 10 Pickling (Pickle, CPickle, Pytables и т. Д.) И 9 gc.collect() - способы смягчить это. Мне ...

Ограничение памяти Java-приложения и использования процессора

... ограниченными памятью 13 и процессором. Я видел физические движки 12 с демонстрационными приложениями, которые 11 запускаются в браузере или я могу запускать 10 на моем компьютере. Что, если я запустил 9 их на мобильном устройстве? Спектакль будет 8 таким же? Вместо того, чтобы разрабатывать 7 образец мобильного приложения для тестирования 6 производительности библиотеки, я предпочитаю 5 запускать его с конкретным процессором и ...

Почему программисты на C++ должны минимизировать использование «нового»?

... std::string when using std::list<std::string>, и one of the comments говорит следующее: Прекратите 10 так часто использовать new. Я не вижу причин, по 9 которым вы где-то использовали новое ты 8 сделал. Вы можете создавать объекты по значению 7 в C++, и это одна из огромные преимущества 6 использования языка. Вам не нужно выделять все 5 в куче. ...

Как найти причину ошибки malloc "double free"?

... мирую приложение на Objective-C 8 и получаю следующую ошибку: MyApp (2121,0xb0185000) malloc: & ast; ** ошибка 7 для объекта 0x1068310: двойное освобождение 6 *** установить точ ...

Размер стека и кучи памяти

... программе на языке C, я понимаю 1 следующее: В языке используются две основные структуры данных: стек и куча. Стек создается для хранения локальных переменных и данных бухгалтерского учета подпрограмм. Куча создается для хранения динамически выделяемых переменных программы. Куча имеет переменную длину по своей природе. (Не очень уверен в стеке) Обычно компилятор / язык обязан запросить ОС для создания этих структу ...

Незакрытые потоки вызывают утечку памяти в Java?

... . Итак, если я напишу эту программу: import java.io.*; public class CreatingMemoryLeak { public static void main(String args[]) { String s = "xxxxxxx"; InputStream in = new ByteArrayInputStream(ss.getBytes()); BufferedInputStream bf = new BufferedInputStream(in); try { while(bf.read()>0) { ...

Очистка или установка нуля для объектов в java

... lt;Object> исполняемому классу для обработки потоком. поместить ArrayList<Object> в HashMap. Теперь в этом случае, если 8 я вызываю list = null; или list.clear();, что происходит с объектами? В 7 каком случае объекты теряются, а в каких 6 случаях устанавливается значение null только 5 для ссылки? Я предполагаю, что это связано 4 с поверхностным и гл ...

Почему я получаю сообщение GDB «Невозможно получить доступ к памяти по адресу 0x ...» при проверке дампа ядра?

... 8000000 at 0x0f7a3000: load110 ALLOC LOAD HAS_CONTENTS 0xe8000000->0xe8100000 at 0x101a3000: load111 ALLOC LOAD HAS_CONTENTS 0xe8100000->0xe8121000 at 0x102a3000: load112 ALLOC LOAD HAS_CONTENTS 0xe8121000->0xe8121000 at 0x102c4000: load113 ALLOC READONLY 0xe8200000->0xe8300000 at 0x102c4000: load114 ALLOC LOAD HAS_CONTENTS 0xe83f6000->0xe83f7000 at 0x103c4000: load115 ALLOC LOAD ...

Как получить доступную память C++ / g ++?

... поскольку он будет использоваться 16 в Windows, OS X, Linux и AIX. (И, если возможно, я 15 также хотел бы выделить часть доступной 14 памяти для моего приложения, кому-то она 13 не меняется во время выполнения). Изменить: я 12 сделал это с настраиваемым выделением памяти. Я 11 понимаю, что это не очень хорошая идея, поскольку 10 большинство ОС управляет памятью для нас, но 9 мое приложение было платформой ETL (предназначенной 8 для исполь ...

c ++ получить адрес переменной без оператора &

... ли созданы с использованием 3 new, поэтому адрес переменной был доступен, но 2 теперь мне нужно ...

Как выглядит ссылка на C++ с точки зрения памяти?

... nt i = 42; int j = 43; int k = 44; Посмотрев на адреса переменных, мы 11 знаем, что каждая из них занимает 4 байта 10 (на большинстве платформ). Однако, учитывая: int i = 42; int& j = i; int k = 44; Мы 9 увидим, что переменная i действительно занимает 8 4 байта, но j принимает none, а k снова занимает 7 4 байта в стеке. Что здесь происходит? Похоже, ...

Как использовать память программой Delphi

... сколько памяти она выделила и 10 использует. Есть ли в моей программе Delphi 9 2009 какой-либо способ вызвать функцию Windows 8 или, возможно, некоторую функцию FastMM, чтобы 7 узнать, какая память была выделена только 6 моей программой? Возвращаясь к своем ...

Обязательно ли использовать autoreleasepool в программе Swift?

... { for (int i = 0; i < 10000; ++i) { NSNumber *number = [NSNumber numberWithInt:(i+j)]; NSLog(@"number = %p", number); } } } } Если приведенный 5 выше код будет переведен на Swift с удалением 4 autorelea ...

Сколько оперативной памяти для главного экземпляра Jenkins?

... запустить мастер Jenkins на размещенном сервере с ограниченными ресурсами (ОЗУ). Я буду запускать ведомые устройства на некоторых хорошо загруженных машинах в моей собственной сети. Итак, мой 5 вопрос в том, насколько мало оперативной 4 памяти можно было бы выделить для экземпляра 3 Master Jenkins? 256M? ...

Использование удаления указателей, переданных в качестве аргументов функции

... #include<iostream> class test_class{ public: test_class():h(9){} int h; ~test_class(){std::cout<<"deleted";} }; void delete_test(test_class* pointer_2){ delete pointer_2; } int main(){ ...

CUDA выделяет память в функции __device__

... уководства по программированию CUDA C: B.15 23 Динамическое распределение глобальной памяти void* malloc(size_t size); void free(void* ptr); динамически 22 выделять и освобождать память из кучи фиксированного 21 размера в глобальной памяти. Функция CUDA 20 в ядре malloc() выделяет минимум байтов размера 19 из кучи устройства и возвращает указатель 18 на выделенную память или NULL, если памяти 17 недостаточно для выполнения запроса. Возвр ...

Где в C хранятся постоянные переменные?

... е. Находится 2 ли он в той же области памяти, что и глобальные 1 пер ...

Разница между MemoryPool <T> и ArrayPool <T>

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

Как удалить указатель после возврата его значения внутри функции

... ять каждый раз, когда я ее использую, но 6 как я могу освободить память после обработки 5 данных внутри массива? Могу ли я сделать 4 это вне функции? Обработка данных путем 3 выделения боль ...

Есть ли способ удалить созданные переменные, функции и т. Д. Из памяти интерпретатора?

... 8 же самое и с функциями, классами и т. д. Как 7 мне удалить все эти новые объекты, не стирая 6 стандартные 6, которые были доступны в начале? Я 5 читал здесь о «очистке памяти», «очистке 4 консоли», при которой стирается весь текст 3 из окна командной строки: &gt;&gt;&gt; import sys &gt;&gt;&gt; clear = lambda: os.system('cls') &gt;&gt;&gt; clear() Но все это не имеет 2 ничего общего с тем, чего я пытаюсь достичь, это ...

В чем проблема с double free()?

... я, мне 8 трудно понять, что он делает так плохо, кроме 7 как тратить циклы ЦП. Насколько я понимаю, если 6 выделение указателя не находится в «таблице 5 malloc» (из-за отсутствия лучшего слова), оно 4 обычно игнорируется. Я был бы признателен, если 3 бы кто-нибудь здесь мог лучше понять, почему 2 это плохо и (кроме того факта, что это глу ...

Консультации по обслуживанию кода

... 8 раньше не терпели неудач, давая хороший 7 совет, поэтому теперь я прошу вас, любые 6 советы по работе с такими ситуациями будут 5 ОЧЕНЬ благодарны. ИЗМЕНИТЬ Код составляет около 5000 4 LoC РЕДАКТИРОВАТЬ2 Профессор решил пойти по самому простому 3 пути. Который получал больше оперативной 2 памяти. Ура за то, что ...

C# ref - это как указатель в C / C++ или ссылка в C++?

... ую жизнь объекта и его распределение / перераспределение памяти и т. Д. Я читаю в книгах и форумах только советы it's bad, because you can corrupt your connection and cause a memory leak by a reference lose, поэтому я контролирую жизнь объекта, я могу вручную контролировать то, что я действительно хочу, так почему это плохо? В настоящее ...

Как освободить использование Inode?

... айлов 8 использование остается 100%. Как правильно 7 это сделать? Каким образом диск с меньшим 6 объемом используемого дискового пространства 5 может иметь более высокое использование 4 Inode, чем диск с большим исп ...

C++ Удаление статических данных

... классы 5 не являются объектами первого класса в C++), тогда 4 нет деструктора для удаления статических 3 данных? Я новичок в C++, так что извините, если 2 мое понимание C++ в корне ошибочно или если 1 ответ очевиден! Заранее спаси ...

Как правильно исправить предупреждение "массив нулевого размера в структуре / объединении" (C4200) без нарушения кода?

... ma, как 7 я понимаю). Примечание: я видел this similar question, но мне 6 это действительно не помогло. Обновление: как 5 я уже сказал, код работает и дает правильные 4 результаты. Таким образом, конструктор копирования 3 или оператор присваивания, по-видимому, действительно 2 не нужен. И пока я смотрю на код, ни одна 1 из структур не получает ...

malloc для структуры и указателя в C

... > x дважды, один при 6 выделении памяти для y, а другой при выделении 5 памяти для y-> x, и это кажется пустой тратой 4 памяти. Мы будем очень признательны, если 3 дадите мне знать, что на самом деле делает 2 компилятор и как правильно инициализировать 1 как y, так и y-> x. Заране ...

Неустойчивый дорогой?

... этого недостаточно, и необходимо задействовать 6 основную память, что замедляет энергозависимость. в 5 системах с несколькими процессорами, верно? PS: По 4 пути, чтобы узнать больше об этом, я наткнулся 3 на следующие замечательные статьи, и, поскольку 2 этот вопрос может быть интересен другим, я 1 поделюсь своими ссылками здесь: Java theory and practice: Fixing the Java Memory Model, Part 1 и Java theory and practice: Fixing ...

Ошибка установки PostgreSQL - невозможно выделить память

... астроить 17 ядро ​​на больший SHMALL. Уменьшить размер 16 запроса (в настоящее время 2072576 байт), уменьшить 15 общий объем PostgreSQL использование памяти, возможно, за 14 счет уменьшения shared_buffers или max_connections. Я 13 немного покопался в документации, но я новичок 12 в этом и очень мало знаю о памяти и о том, как 11 работают базы данных, и я подумал, что кто-то 10 здесь может указать ...

Ограничьте память и процессор, доступные пользователю в Linux

... Меня немного беспокоит количество ресурсов, которые 6 я могу использовать на общей машине. Есть 5 ли способ проверить, есть ли у администратора 4 ограничение на количество ресур ...

Использование памяти словаря в Python?

... 5 расходами словаря, т.е. он не принимает 4 во внимание фактические данные. Как лучше 3 всего выяснить использование памяти всего 2 словаря (ключи, значения, накладные расходы 1 словаря)? &gt;&gt;&gt; first = 'abc'*1000 &gt;&gt;&gt; second = 'def'*1000 &gt;&gt;&gt; my_dictionary = {'first': first, 'second': second} &gt;&gt;&gt; getsiz ...

Как удалить широковещательную переменную из кучи в Spark?

... следующим образом: myRdd.map(blar =&gt; { val myVarRetrieved = myVarBroadcasted.value // some code that uses it } .someAction Но предположим, что 9 теперь я хочу выполнить еще несколько действий 8 с новой широковещательной переменной - что, если 7 у меня недостаточно места в куче из-за ст ...

Динамический двумерный массив указателя на указатель

... пользованием 16 C++ 2-е изд. Д.С. Малика". В книге Малик 15 предлагает два способа создания динамического 14 двумерного массива. В первом методе вы объявляете 13 переменную как массив указателей, где каждый 12 указатель имеет целочисленный т ...

Удаление объекта StringBuilder

... строчка действительно 5 помогает? Есть ли другой способ справиться 4 с этим? Примечание. Это не мешает моим пользователям 3 продолжать использовать приложение. Мне 2 просто интересно, есть ли способ избежать 1 избыто ...

Как использовать GetProcessMemoryInfo в C++?

... untr; pMemCountr = new PROCESS_MEMORY_COUNTERS(); bool result = GetProcessMemoryInfo(GetCurrentProcess(), pMemCountr, sizeof(PPROCESS_MEMORY_COUNTERS)); ...

Почему использование памяти redis не уменьшается при удалении половины ключей

... рации 3 удаления в порядке, но использование памяти 2 не уменьшается. В чем причина? Заранее спасибо. Мой 1 код операции следующий: // save data m_pReply = (redisReply *)redisCommand(m_pCntxt, "set %b %b", mykey.data(), mykey.siz ...

Как установить максимальное использование памяти для JVM?

... Я хочу ограничить максимальный объем памяти, используемый 3 JVM. Обратите внимание, это не просто куча, ...

Уловка сжатого Oops JVM

... шины -XX:+UseCompressedOops. Я понимаю, что это позволяет эффективно 10 использовать кеш-память ЦП, поскольку кеш-память 9 ЦП может содержать большее количество ссылок, чем 8 если бы им приходилось иметь дело с ссылками 7 размером 64 бита. Но я не понимаю, как, используя 6 только 32-битную JVM, можно адресовать до 5 2 64 адресов. Ч ...

Допустимый размер памяти X байт исчерпан

... байт исчерпан (попытка выделить 8 13965430 байт) PHPInfo показывает, что у 7 меня memory_limit 128M, поэтому я не понимаю, почему 6 в ошибке указано, что у меня только 64M. Может 5 ли phpinfo сообщать некорректно? Или для 4 PHP использовать два отдельн ...

Есть ли способ уменьшить кучу Java, когда она не используется?

... циям по правильной сборке мусора. Однако 14 похоже, что моя куча имеет максимальный 13 размер, хотя в ней нет необходимости. Моя 12 программа запускает ресурсоемкую задачу 11 один раз в час, когда компьютер не используется 10 человеком. Эта задача использует приличный 9 кусок памяти, но затем освобождает ее сразу 8 после завершения задачи. Профилировщик NetBeans 7 п ...

Максимальное значение Xmx и Xms в Eclipse?

... ий в eclipse.ini: -Xms768M -Xmx1024M При их 3 повышении Eclipse больше не з ...

Что плохого в использовании GC.Collect()?

... ти 21 к катастрофическим последствиям. Затем создание 20 объектов сводится к минимуму за счет использования 19 пулов объектов и т.п., но затем неожиданно 18 включается GC и выбрасывает все это, и кто-то 17 умирает. Вопрос: в этом с ...

Когда вы выходите из приложения C, освобождается ли автоматически выделенная память?

... () { int *p = malloc(10 * sizeof *p); *p = 42; return 0; //Exiting without freeing the allocated memory } Когда 6 я компилирую и выполняю эту программу на 5 C, то есть по ...