Вы можете попытаться использовать такие инструменты, как htop , и отсортировать их по загрузке ЦП / использованию ОЗУ / времени ЦП.
sudo apt-get install htop && htop
Вы также можете использовать iotop для проверки любых узких мест, связанных с вводом-выводом,
sudo apt-get install iotop && sudo iotop
или
sudo iotop -P --only
ls -l
даст вам кажущийся размер файла, то есть число байтов, которое программа прочитает, если прочитает файл от начала до конца. du
даст вам размер файла «на диске».
По умолчанию du
дает вам размер файла в количестве дисковых блоков, но вместо этого вы можете использовать -h
, чтобы получить удобочитаемую единицу измерения. См. также руководство для du
вашей системы.
Обратите внимание, что с GNU coreutil du
(, который, вероятно, используется в Linux ), использование -b
для получения байтов подразумевает опцию --apparent-size
. Это не то, что вы хотите использовать, чтобы получить количество байтов, фактически используемых на диске. Вместо этого используйте --block-size=1
или -B 1
.
В GNU ls
вы также можете выполнить ls -s --block-size=1
над файлом. Это даст тот же номер, что и du -B 1
для файла.
Пример:
$ ls -l file
-rw-r--r-- 1 myself wheel 536870912 Apr 8 11:44 file
$ ls -lh file
-rw-r--r-- 1 myself wheel 512M Apr 8 11:44 file
$ du -h file
24K file
$ du -B 1 file
24576 file
$ ls -s --block-size=1 file
24576 file
Это означает, что это файл размером 512 МБ, который занимает на диске около 24 КБ. Это разреженный файл (в основном нули, которые на самом деле не записываются на диск, а представлены как логические «дыры» в файле ). Разреженные файлы распространены при работе с предварительно -выделенными большими файлами, например. образы дисков для виртуальных машин или файлы подкачки и т. д. Создать разреженный файл можно быстро, а заполнять его нулями — медленно (и не нужно ).
См. также руководство для fallocate
в вашей системе Linux.
Я получаю размер файла в байтах следующим образом:
actualsize=$(du -b "${file}" | cut -f 1)