LINUX.ORG.RU

Сообщения Ushenin

 

Вопрос разработчикам использующих СУБД.

Насколько вас устраивает быстродействие используемых СУБД. Желательно указать какую систему используете и для каких задач.

Варианты: 1. Быстродействие достаточно, даже с запасом. 2. Иногда подтормаживает, но не критично. 3. Тормоза раздражают довольно сильно. 4. Недостаток быстродействия - одна из главных проблем.

 

Ushenin
()

Выбор видеокарты для открытых драйверов.

Подскажите плз, какие видеокарты поддерживаются в xorg. Нужно что-то недорогое т.к. в игры не играю. Но обязательно с открытыми драйверами.

Ushenin
()

Ошибка в malloc/free?

в одной программке обнаружилась ошибка при работе с памятью.

ошибка проявляется только если суммарный размер блоков > 4G если меньше тест проходит миллиард итераций без проблем.

количество итераций до появления ошибки не постоянно.

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

Причем ошибка проявляется даже если выделенные блоки вообще не используются.

У кого имеется физической памяти 8 и более Gb проверьте плз, воспроизводится ли ошибка у вас. Но будьте осторожны, у меня один раз система ушла в полный ступор, пришлось перегружать (в той версии теста я заполнял выделенные блоки данными).

#include <stdlib.h>
#include <string.h>
#include <stdio.h>

#define COUB (16*1000*1000)

typedef void *ptr;

ptr	arb[COUB];

void main() {
  int cn,na,szn;
  ptr pb;

    // init:
    for (cn=0; cn < COUB; cn++) arb[cn]=NULL;

    // test:
    for (cn=0; cn < (1000*1000*1000); cn++) {

	if ((cn & 0xFFFF)==0) printf("cn=%d \n",cn);

	na =(rand())% COUB;
	pb=arb[na];
	if (pb != NULL) {
	    free(pb);
	    arb[na]=NULL;
	} else {
	    szn =(rand()) % 2048;
	    if (szn < 32) szn=32;
	    pb=malloc(szn);
	    if (pb==NULL) {
             printf(" !!! malloc()==NULL  szn=%u   (cn=%u)  \n",szn,cn); exit(0); };
	    arb[na]=pb;
	};
    };

};

 

Ushenin
()

mmap() освободить физическую память.

Занимаю некоторый диапазон адресов с помощью mmap() (private, anonymous) использую эту память. При доступе автоматически выделяется физическая память, но что делать если требуется освободить физическую память но не отдавать адресное пространство? (что-то типа decomit)

Можно конечно вызвать munmap и сразу mmap но это как-то не красиво, может быть есть стандартное решение?

Ushenin
()

RSS подписка на новые темы