The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск дистрибутива Siduction 2021.3"
Версия для распечатки Пред. тема | След. тема
Форум Разговоры, обсуждение новостей
Исходное сообщение [ Отслеживать ]
Подсказка: Доступны два режима работы форума: "Раскрыть нити" и "Свернуть нити".
. "Выпуск дистрибутива Siduction 2021.3" +/
Сообщение от SelfPerfection (ok), 25-Дек-21, 23:57 
> Как это можно повторить ? У меня не выходит или файлов слишком
> мало под рукой..

Ну во-первых можно же просто прикинуть. Допустим даже консервативно, что на хранение информации об одном файле уходит 10 байт. Вообще в 10 байт даже название скорее всего не уместится, а ведь ещё нужно байт 4-8 на размер, а ещё нужно хранить информацию о директориях, но допустим. Даже в этом случае на 50 млн. файлов уйдёт 50*10=500 млн байт, то есть полгигабайта.

Да и повторить просто:

```
# Лучше в tmpfs экспериментировать
# Сделем 300 директорий:
$ mkdir -p ncdu_ram_benchmark/{0..2}{0..9}{0..9}
# Сканирую ncdu и сразу выхожу (q)
$ /usr/bin/time ncdu ncdu_ram_benchmark/
0.00user 0.00system 0:00.59elapsed 1%CPU (0avgtext+0avgdata 4148maxresident)k
0inputs+0outputs (0major+485minor)pagefaults 0swaps
# Всего-то 4MB памяти! А если в каждую директорию положить по тысяче файлов?
$ for DIR in ncdu_ram_benchmark/{0..2}{0..9}{0..9}; do touch "$DIR/this_is_a_file_with_reasonable_name_"{0..9}{0..9}{0..9};done
$ /usr/bin/time ncdu ncdu_ram_benchmark/
0.25user 0.37system 0:01.41elapsed 44%CPU (0avgtext+0avgdata 41712maxresident)k
0inputs+0outputs (0major+9873minor)pagefaults 0swaps
# Обана, уже 40MB!
```

Ну в раз для 300к файлов требуется дополнительно 40MB, то, экстраполируя, на 30млн файлов понадобится 4ГБ.

Ответить | Правка | Наверх | Cообщить модератору

Оглавление
Выпуск дистрибутива Siduction 2021.3, opennews, 25-Дек-21, 10:03  [смотреть все]
Форумы | Темы | Пред. тема | След. тема



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру