LINUX.ORG.RU

Сообщения CunMun

 

Ограничить память для процесса.

Скажите как заставить Linux прибить процесс если он попытается выделить больше определенного количества памяти. Или можно ли установить лимит по памяти для определенного приложение, что бы ядро прибило этот процесс в случае превышения заданого лимита. Зарание спасибо.

 ,

CunMun
()

Fedora, cpu

Здраствуйте народ. Ситуация следующая. Несколько месяцев нзад поставил Fedora 21. И к моему удивлению все работало отлично, до тех пор пока не прилетели обновления ядра. После этого ноутбук (lenovo y570) я стал замечать что время работы от батареи сократилось, ноутбук при работе начал больше нагреватся, и появился постоянный раздражающий вой куллера соответсвенно.

Вот к примеру результаты после примерно 15 - 20 мин. работы ноутбука без запуска каких либо приложений кроме самой DE(Gnome):

Ядро которое я получил сразу после установки:

uname -r
3.19.1-201.fc21.x86_64

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +41.0°C  (crit = +127.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +41.0°C  (high = +80.0°C, crit = +85.0°C)
Core 0:         +39.0°C  (high = +80.0°C, crit = +85.0°C)
Core 1:         +39.0°C  (high = +80.0°C, crit = +85.0°C)

Последнее дефолтное на сегодняшний день:

uname -r
3.19.3-200.fc21.x86_64

sensors
acpitz-virtual-0
Adapter: Virtual device
temp1:        +51.0°C  (crit = +127.0°C)

coretemp-isa-0000
Adapter: ISA adapter
Physical id 0:  +51.0°C  (high = +80.0°C, crit = +85.0°C)
Core 0:         +51.0°C  (high = +80.0°C, crit = +85.0°C)
Core 1:         +49.0°C  (high = +80.0°C, crit = +85.0°C)

Тоесть разница примерно в 10 градусов при отсутствии какой либо нагрузки на процессор. Стоит bumblebee и в обоих случаях:

optirun --status
Bumblebee status: Ready (3.2.1). X inactive. Discrete video card is off.

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

 ,

CunMun
()

c++ boost::any

Народ. Кто нибудь может дать ссылку на какой либо open source project где этот сабж используют. Или может кто сам использует. Не могу представить use case где это может згодится. Заранее всем спасибо.

 ,

CunMun
()

C++ metaprogramming

Скажите пожалуйста может кто в курсе. Возможно ли на плюсах с помощью шаблованов создать (к примеру контейнер) в зависимости от его применения.

Чтото в роде (даже не знаю как это правильно описать):

Если в коде применяется функции типа List.back(..) или List.size() то

typedef std::list List;
Иначе
typedef std::forward_list List;
Если это вообще возможно то киньте ссылку на нечто похожее. Или же это пока не реально ? Спасибо.

 

CunMun
()

c++ Нубский вопрос

Предположим есть у нас код:

template <typename T>
struct A
{
    T data;
};

int main ()
{
    A<int> intData;
    A<char> charData;

return 0;
}

На основании этого кода компилятор нам создает два класса c соответствующими членами (int и char) вместо Т. А что происходит с таким кодом:

template <int N>
struct A
{
    A() : data(N) {};
    int data;
};

int main ()
{
    A<1> intData1; // intData1.data = 1;
    A<5> intData5; // intData5.data = 5;

return 0;
}


Компилятор здесь тоже будет создавать два типа с static const int = 1 и static const int = 5 соответственно или здесь что то другое происходит? И почему мы не можем для второго примера написать:

static const int = N
вместо конструктора ?

 ,

CunMun
()

Ноутбук Lenovo странное поведение.

1. Имеется ноутбук Lenovo Y570 2. На всех дистрибютивах (за исключением Ubuntu 14.04) установленых на этот ноутбук наблюдаеся проблема с питанием. 3. Суть проблемы заключается в том что при отключение ноутбука от питания ноутбук тупо вырубается. 4. Вырубается не всегда а примерно в 40-60 % случаев. Не зависимо от того как загружен процессор и насколько заряжен акамулятор. 5. Был проверен на самах разных дистрибютивах Debian 7, Debian testing, Fedora 19, 20, OpenSuse. И всегда присутствовала эта проблема включая и убунту дистры до версии 14.04 (14.10 не проверял).

Может кто сталкивался или знает в чем может быть проблема.

 

CunMun
()

Работа с сторонними репозиториями.

Ребята поделитесь пожалуйста опытом. К примеру есть у меня основная система Ubuntu 14.04. И захотелось мне проверить в работе ряд приложений новые версии которых отсутствуют в основном репозитории, то есть необходимо подключать сторонние ppa. Так вот вопрос в том есть ли гарантия что после того как я поустанавливаю эти приложения (они натащят за собой целый зоопарк разных зависимостей) и захочу их потом поудалять что к примеру после: sudo apt-get purge и удаления этих ppa все вернется к первоначальному виду.

И еще момент к примеру захотелось посмотреть приложение(библиотеку), пакета нет, необходимо make install. Насколько этот вариант безопасный, и есть ли вариант отследить что было установлено в систему «не штатными» методами?

P.S. Я понимаю что все можно и в виртуалке, но сейчас как бы не об этом.

Спасибо всем кто ответил?

 , ,

CunMun
()

header only «Good practice»

Ребята может кто в теме есть ли хорошие гидлайны как правильно создавать такие библиотеки. Представим что есть у вас некий код вы его активно использовали в своих проэктах и решили представить общественности в виде удобной, хорошо документированной библиотеки которая бы содержала также header only версию ( к примеру как Catch https://github.com/philsquared/Catch ).

И второй вопрос, для меня более сложный. Что если к примеру приспичело (только не спрашивайте зачем) создать header only версиую уже готовой (зрелой) библиотеки к примеру как hanspell. Есть ли какой нибудь easy way чтобы не инлайнить это все вручную (или оборачивать в классы). Или в любом случае будет куча гемора (рефакторинга) и головной боли. Сильно не пинайте, раньше просто такого никогда не делал. Спасибо заранее всем кто ответил.

 

CunMun
()

c++ Еще один нубский вопрос

Рбеят можете ктонибудь простым языком обяснить есть ли случаи когда наследование (не счиатая абстрактные классы) будет предпочтительней композиции. Я понимаю что большенство говорят что все зависит от конкретного случая. Но хотелось бы увидить пример такого случая (типа вот в данном x случае наследование явно имеет преимущество перед композицией). Или может кто ссылуку даст на примеры (кроме QT). Спсибо.

 

CunMun
()

с / с++ нубский вопрос..

int main()
{ 
    int *x;

    *x = 5;

return 0;
}

1. Cкажите пожалуйста чем такое может грозить? 2. Правильно ли я понимаю что если нету никаких new, delete, malloc-ов, и прочих умных указателей то мы всего лишь создали указатель типа int. Будет ли он кудато укзывать если мы не присвоили ему явно адресс какойто переменной?(наверное да он же всетаки указывает на кокойто адресс), или же undefined behavior? 3. Потом мы всего лишь разименовываем указатель и записываем по этому адрессу число ( к примеру 5 ). 4. Вроде как все происходить без участия «кучи» правильно. 5. Насколько легально работать со стеком через указатели?

Извините за туповатые вопросы.. Спасибо.

 

CunMun
()

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