LINUX.ORG.RU

Вопрос, касающийся размеров файлов и директории с этими файлами.

 , ,


0

1

Вообщем вот:

 david@Server1  ~/.phoronix-test-suite/installed-tests/pts/apache-1.6.1/httpd_/lib/pkgconfig  ls -al
итого 16
drwxr-xr-x 2 david david 4096 сен 19 18:42 .
drwxr-xr-x 3 david david 4096 сен 19 18:42 ..
-rw-r--r-- 1 david david  525 сен 19 18:42 apr-1.pc
-rw-r--r-- 1 david david  647 сен 19 18:42 apr-util-1.pc
 david@Server1  ~/.phoronix-test-suite/installed-tests/pts/apache-1.6.1/httpd_/lib/pkgconfig  du -h
12K .
 david@Server1  ~/.phoronix-test-suite/installed-tests/pts/apache-1.6.1/httpd_/lib/pkgconfig 
Откуда взялось 12 килобайт (или если правильно то кибибайт, так как приставка кило - означает тысячу, а киби - тысячу двадцать четыре). И вообще как правильно называть то что мы называем килобайтами (подразумевая 1024 байта, хотя приставка кило означает 1000) или кибибайтами (1024 байта ровно)?

Маркетоиды, разводящие людей на размеры дисков, украли у нас приставку «кило», потому и придумали всякие «киби».

ashot ★★★ ()
Ответ на: комментарий от blbulyandavbulyan

Чем?

Исправь уже, или на фалосы, или на файлы.

ashot ★★★ ()

Откуда взялось 12 килобайт

google://кластер файловой системы

Дальнейшую цепочку выводов уже озвучил Radjah

Pinkbyte ★★★★★ ()
Последнее исправление: Pinkbyte (всего исправлений: 1)
Ответ на: комментарий от Radjah

два файла по 4кб

Откуда они взялись если из вывода видно что

-rw-r--r-- 1 david david  525 сен 19 18:42 apr-1.pc
-rw-r--r-- 1 david david  647 сен 19 18:42 apr-util-1.pc
Ну тут же явно не 4Кб... Или точки (которые указывают на предыдущий каталог, и этот же) тоже считаются?

blbulyandavbulyan ()
Ответ на: комментарий от blbulyandavbulyan

сектор современного жесткого диска - 4кб, поэтому для большинства ФС выбрано логичным, что и файл меньше 4кб (одного сектора) на диске занимать на может. Да, при этом файл сам может быть меньше 4кб, но du показывает вам именно занятое на жестком диске место. BTRFS, говорят, умеет делать субаллокации и пихать несколько мелких файлов в один сектор

anonymous ()
Ответ на: комментарий от anonymous

Гм. На моей практике fdisk на всех жёстких дисках и флэшках продолжает показывать

Размер сектора (логический/физический): 512 байт / 512 байт

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Знаете, я не удивлюсь, если вы и плоских мониторов до сих пор не признаете. Вот fdisk -l с моего древнего ноута, купленного более 3 лет назад (точно не скажу)

Диск /dev/sda: 465,8 GiB, 500107862016 байт, 976773168 секторов
Единицы: секторов по 1 * 512 = 512 байт
Размер сектора (логический/физический): 512 байт / 4096 байт
Размер I/O (минимальный/оптимальный): 4096 байт / 4096 байт
anonymous ()
Ответ на: комментарий от anonymous

А у меня так:

 david@Server1  ~  sudo fdisk -l
[sudo] пароль для david:
Диск /dev/sda: 1,8 TiB, 2000398934016 байтов, 3907029168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 4096 байт
I/O size (minimum/optimal): 4096 bytes / 4096 bytes
Тип метки диска: dos
Идентификатор диска: 0x91fb0146

Устр-во    Загрузочный      Start      Конец    Секторы   Size Id Тип
/dev/sda1              3891404800 3907028991   15624192   7,5G 82 Linux своп / Solaris
/dev/sda2  *                 2048     976895     974848   476M 83 Linux
/dev/sda3              2914842624 3891404799  976562176 465,7G 83 Linux
/dev/sda4                  976896 2914842623 2913865728   1,4T 83 Linux

Записи таблицы разделов не соответствуют порядку разделов на диске.


Диск /dev/sdb: 465,8 GiB, 500107862016 байтов, 976773168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0xc3bac3ba

Устр-во    Загрузочный Start     Конец   Секторы   Size Id Тип
/dev/sdb1               2048 976773167 976771120 465,8G 83 Linux
 david@Server1  ~ 

blbulyandavbulyan ()
Ответ на: комментарий от blbulyandavbulyan

Не у вас, а у мистера старовера. У вас сектор на диске 4К и сектор файловой системы тоже 4К. Поскольку файловая система у вас ext, то файл на диске будет всегда занимать как минимум 4К (потому что нет возможности приказать записать несколько файлов единым куском в сектор и нет возможности сказать «начинай писать в сектор с середины»)

anonymous ()
Ответ на: комментарий от anonymous

Не у вас, а у мистера старовера. У вас сектор на диске 4К и сектор файловой системы тоже 4К. Поскольку файловая система у вас ext, то файл на диске будет всегда занимать как минимум 4К (потому что нет возможности приказать записать несколько файлов единым куском в сектор и нет возможности сказать «начинай писать в сектор с середины»)

Но ведь выхлоп fdisk -l:

Диск /dev/sdb: 465,8 GiB, 500107862016 байтов, 976773168 секторов
Единицы измерения: секторов из 1 * 512 = 512 байтов
Размер сектора (логический/физический): 512 байт / 512 байт
I/O size (minimum/optimal): 512 bytes / 512 bytes
Тип метки диска: dos
Идентификатор диска: 0xc3bac3ba
И тут как бэ написано что размер сектора у меня 512 байт. Или это не то?

blbulyandavbulyan ()
Ответ на: комментарий от anonymous

Ну так более мелкие сектора практичнее, поскольку мелкие файлы будут храниться оптимальнее.

Так, например, эти 4096 байт соответствуют целым 8-ми секторам по 512 байт. Соответственно, на носитель такого же объёма как и другой с секторами по 4096 байт, но с секторами по 512 байт, можно записать в 8 раз больше файлов, размер которых не превышает 512 байт.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Меньшие секторы работают медленее, тем более оперативка как раз работает тоже с 4k блоками.

anonymous ()
Ответ на: комментарий от saahriktu

Алсо в нормальных фс такие мелкие файлы хранятся прямо в инодах или иных самих структурах фс, так что аргумент-инвалид.

anonymous ()
Ответ на: комментарий от blbulyandavbulyan

Это не то. Размер блока файловой системы и физический/логический сектор — совершенно разные понятия. Которые тут в треде почему-то некоторые путают, и ладно бы только один саахрикту с кои вместо знаний.

redgremlin ★★★★★ ()
Ответ на: комментарий от redgremlin

Это не то. Размер блока файловой системы и физический/логический сектор — совершенно разные понятия. Которые тут в треде почему-то некоторые путают, и ладно бы только один саахрикту с кои вместо знаний.

Упс, прошу прощения. А как собственно узнать размер блока файловой системы?

blbulyandavbulyan ()
Ответ на: комментарий от blbulyandavbulyan

А как собственно узнать размер блока файловой системы?

Зависит от файловой системы. В случае ext2/3/4 это tune2fs -l /dev/твойкорневоеустройство

redgremlin ★★★★★ ()
Ответ на: комментарий от kirk_johnson

Ну я лет десять назад делал. Может кто и до сих пор делает. Вон, саахрикту байтики на рускоязычных текстах экономит, явно его жаба душит на /etc/shells размером в полторы сотни байт целых 4к тратить.

redgremlin ★★★★★ ()

Вопрос, касающийся размеров файлов и директории с этими файлами.

42

Deleted ()
Ответ на: комментарий от saahriktu

Сектора, внезапно, у носителей информации, а не людей.

У гейских носителей информации сектора маленькие. Гейскими носителями информации пользуются только геи. Видишь, все очень просто.

kirk_johnson ★☆ ()
Последнее исправление: kirk_johnson (всего исправлений: 2)
Ответ на: комментарий от kirk_johnson

Нет, не так. Носители информации - это носители информации. И не всем нужно много информации.

Дедам хватало перфокарт по 120 байт, а нам хватит секторов аж по 512 байт, что в 4,26666666666666666666 раза жирнее.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

И не всем нужно много информации.

Причем тут количество информации?

Дедам хватало перфокарт по 120 байт, а нам хватит секторов аж по 512 байт, что в 4,26666666666666666666 раза жирнее.

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

kirk_johnson ★☆ ()
Ответ на: комментарий от kirk_johnson

Очевидно, затем, чтобы в один сектор помещалось больше информации. Чтобы за одну операцию чтения одного сектора читалось больше.

И это таки нужно в первую очередь тем, кому нужно быстро и много читать с носителей.

А если много информации не нужно, то такой задачи и нет. И можно спокойно читать меньше информации более мелкими порциями.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

Очевидно, затем, чтобы в один сектор помещалось больше информации. Чтобы за одну операцию чтения одного сектора читалось больше.

Не только. Дело ещё в ECC и прочих особенностях работы.

И это таки нужно в первую очередь тем, кому нужно быстро много читать с носителей.

Быстро != много.

А если много информации не нужно, то такой задачи и нет. И можно спокойно читать меньше информации более мелкими порциями.

Для тебя не будет разницы, 4k сектор или 512. У файловой системы он 4k в любом случае.

kirk_johnson ★☆ ()
Ответ на: комментарий от anonymous

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

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

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

anonymous ()
Ответ на: комментарий от anonymous

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

saahriktu ★★★★★ ()
Ответ на: комментарий от anonymous

Ассемблер не то чтобы прост архитектурно, он просто заточен под команды процессора.

Систему команд того же МК-61 вполне можно считать подвидом ассемблера, но там он такой же простой как и Бейсик.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от saahriktu

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

Лол. 4k сектор сложнее, чем 512? Приехали.

kirk_johnson ★☆ ()
Ответ на: комментарий от kirk_johnson

Он по объёму равен целым 8-ми секторам по 512 байт, и должен рассматриваться как составной. Тем более, что у дискет и жёстких дисков размер сектора изначально именно 512 байт.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Он по объёму равен целым 8-ми секторам по 512 байт

Или 16 секторам по 256 байт. Какая нахрен разница?

и должен рассматриваться как составной.

С чего бы?

Тем более, что у дискет

Уже выросло поколение, ни разу в жизни в глазу эту самую дискету не видевшее.

жёстких дисков

Современные жесткие диски уже 4k. Сюрприз.

размер сектора изначально именно 512 байт.

Изначально (у IBM) он был 270[1] байт.

[1] http://bitsavers.trailing-edge.com/pdf/ibm/dasd/2311/Y26-5897-4_2311_FE_Theor...

kirk_johnson ★☆ ()
Последнее исправление: kirk_johnson (всего исправлений: 4)
Ответ на: комментарий от kirk_johnson

Уже выросло поколение, ни разу в жизни в глазу эту самую дискету не видевшее.

Но, я-то видел. Причём, даже 5-ти дюймовые. На них работал Profi (клон ZX Spectrum'а) моего дяди. У него ещё была специальная пластиковая коробка для их хранения, в которой находилось не менее чем 200 таких дискет. И одно время оно находилось у меня дома.

А уж дискеты 3,5" я юзал и в лицее, и в институте. У меня до сих пор остаток этих дискет лежит на полке. И у меня есть чем с ними работать - внешний USB дисковод.

Изначально (у IBM) он был 270[1] байт.

Вы бы ещё вспомнили те времена, когда в байте было меньше чем 8 бит. Те времена уже мало кто помнит. Большинство справочников описывают ситуацию уже после моего рождения. С 8-ми битными байтами и секторами по 512 байт.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Чувак, технологии меняются несколько раз за декаду. Еще пять лет назад вращалки были почти везде. Сейчас уже нужно сильно постараться, чтобы найти ноутбук без ssd. Так что можешь выкинуть свои справочники и забыть про 512-байтные блоки.

P.S. Даже само понятие «сектор» уже можно выкидывать, потому что никаких секторов в тех же ssd нет.

kirk_johnson ★☆ ()
Последнее исправление: kirk_johnson (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

Но, по-хорошему им бы меняться один раз в век. Чтобы одного прочтения справочников хватало на всю жизнь. Зачем засорять свою память всяким ненужным хламом? Вспомните, как в произведении Шерлок Холмс отказывался запоминать даже строение Солнечной системы:

   - Видите ли, - сказал он, - мне представляется, что человеческий мозг похож на маленький пустой чердак, который
   вы можете обставить, как хотите. Дурак натащит туда всякой рухляди, какая попадется под руку, и полезные,
   нужные вещи уже некуда будет всунуть, или в лучшем случае до них среди всей этой завали и не докопаешься. А
   человек толковый тщательно отбирает то, что он поместит в свой мозговой чердак. Он возьмет лишь инструменты,
   которые понадобятся ему для работы, но зато их будет множество, и все он разложит в образцовом порядке.
   Напрасно люди думают, что у этой маленькой комнатки эластичные стены и их можно растягивать сколько угодно.
   Уверяю вас, придет время, когда, приобретая новое, вы будете забывать что-то из прежнего. Поэтому страшно
   важно, чтобы ненужные сведения не вытесняли собой нужных.

   - Да, но не знать о солнечной системе!.. - воскликнул я.

   - На кой черт она мне? - перебил он нетерпеливо. - Ну хорошо, пусть, как вы говорите, мы вращаемся вокруг
   Солнца. А если бы я узнал, что мы вращаемся вокруг Луны, много бы это помогло мне или моей работе?
Вот точно также информация о разных размерах секторов, и о том, что у SSD секторов нет, по-хорошему должна быть лишней, ненужней информацией. В мире, в котором у всех носителей есть сектора и ровно по 512 байт.

А все эти зоопарки только вносят неразбериху и путаницу.

saahriktu ★★★★★ ()
Последнее исправление: saahriktu (всего исправлений: 1)
Ответ на: комментарий от kirk_johnson

Ну так и этим требованиям хорошо бы меняться раз в век.

А то постоянно добавляют один слой абстракций за другим. Конечно, оно будет всё больше и больше жрать как не в себя. А, как следствие, меняются и требования.

saahriktu ★★★★★ ()
Ответ на: комментарий от saahriktu

Но, я-то видел. Причём, даже 5-ти дюймовые

У меня длиннее. У меня над рабочим местом три года висела 8" дискета. А уж с 5-ми я натрахался вдоволь в школе.

Profi (клон ZX Spectrum'а)

Называть Профи клоном, кхм. Его стоит называть, аналогично IBM PC-совместимым компьютерам, как ZX-совместимый компьютер. Между прочим, размер сектора в Beta Disk был 256 байт.

Большинство справочников описывают ситуацию уже после моего рождения. С 8-ми битными байтами и секторами по 512 байт

Справочники не слышали ни про амиги, ни про коммодоры, ни про спектрумы, ни про PC-98?

redgremlin ★★★★★ ()
Ответ на: комментарий от saahriktu

А то постоянно добавляют один слой абстракций за другим. Конечно, оно будет всё больше и больше жрать как не в себя. А, как следствие, меняются и требования.

Шта? Как абстракции влияют на скорость диска?

kirk_johnson ★☆ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.