Я думаю, что Вы хотите Канал. Это, кажется, поражает большинство точек, которые Вы ищете - многочисленные источники, надежность (гарантия E2E), способность записать в HDFS (распределенное, отказоустойчивое устройство хранения данных, интегрируется в Hadoop для, отображают/уменьшают.
Править: Я также хотел бы упомянуть Скрайбирование как другую возможность. Это - C++, базирующийся, записанный Facebook, но от этого, кажется, отказался главным образом восходящий поток. Однако, это - намного более низкое место, чем Канал, тем не менее, включая место всех зависимостей от Канала, таких как Служитель зоопарка. И это также может записать в HDFS.
Я бы не стал беспокоиться об использовании небольшого свопа. Бывает, что ядро сбрасывает какие-то данные из памяти на свопинг. Вы можете управлять поведением ядра с помощью параметра swappiness :
echo 60> / proc / sys / vm / swappiness
Этот элемент управления используется для определения того, насколько агрессивно ядро будет менять местами страницы памяти. Более высокие значения увеличивают агрессивность, более низкие значения уменьшить размер свопа. Значение 0 указывает ядру не инициировать своп до тех пор, пока количество свободных и файловых страниц не станет меньше чем самый высокий уровень воды в зоне. Значение по умолчанию - 60.
Дополнительную информацию о подсистеме виртуальной памяти можно найти в документации ядра
Наблюдаемое вами использование памяти одинаково между free
, top
и htop
. Давайте вычислим его из представления top
:
8171728-(341276+2195864+4061972) / 1024 = 1535
, что практически соответствует тому, что вы получаете в htop
.
Также, когда вы конвертируете top
значения из КБ в МБ, вы увидите, что значения free
также совпадают.
Использование подкачки, из-за которого вы паникуете, вероятно, просто какой-то скучающий демон, выгруженный на диск, не беспокойтесь об этом.