Как объединить данные на основе первого столбца?

KSM only merges anonymous (private) pages, never pagecache (file) pages.

Это хорошо работает только для виртуальных машин, потому что вся память виртуальной машины хранится как частные страницы в хост-процессе. Например. процесс qemu на хост-компьютере.

(Вместо этого, например, пользователи Docker могут обмениваться страницами между идентичными изображениями или изображениями с общим предком, которые используют overlayfs -на основе драйвера хранилища).


Кроме того, текущий интерфейс KSM требует madvise(... MADV_MERGEABLE)для каждого потенциально общего диапазона. Этот вызов должен был бы выполняться каждым процессом в контейнере при создании сопоставления. Очевидно, что этот интерфейс намного легче адаптировать для использования отдельными процессами специального -назначения, включая, но не ограничиваясь qemu.

-1
07.09.2020, 13:37
1 ответ

Вот простой подход:

$ awk '{a[$1]+=$2}END{for(i in a){print i,a[i]}}' data 
ero 9247
3es 69955
digital 7382
ride 5884

Обратите внимание, что при этом большая часть данных вашего файла будет храниться в памяти, поэтому могут возникнуть проблемы с очень большими файлами.

3
18.03.2021, 23:06

Теги

Похожие вопросы