Системный вызов Stat занимает много времени на Android, смонтированном через jmtpfs

Я пытаюсь синхронизировать свой Samsung S5 через USB с ПК под управлением Ubuntu Server 18.04. Синхронизация была относительно быстрой во всех папках, за исключением DCIM / Camera, где каждый статистический вызов в каталоге занимает более 5 минут! Каталог содержит около 5000 файлов, поэтому он не массивен, но является самой большой папкой по количеству файлов.

Телефон был смонтирован в моем домашнем каталоге следующим образом:

sudo jmtpfs -o allow_other phone

И монтирование имеет разрешения:

jmtpfs on /home/odwongm/phone type fuse.jmtpfs (rw,nosuid,nodev,relatime,user_id=0,group_id=0,allow_other)

На данный момент я просто выдаю две копии команды, каждая из которых копирует два явно определенных файла. Поэтому, на мой взгляд, не должно быть никаких задержек, вызванных неявным запросом на структуру каталогов. В случае, если неясно, я пытался использовать rsync, но столкнулся с этой проблемой медлительности, с которой я также сталкиваюсь, просто пытаясь копировать файлы.

strace -T -v -o strace_good.out cp -pv /home/odwongm/phone/Phone/WhatsApp/Media/WhatsApp\ Images/IMG-20140719-WA0004.jpg /home/odwongm/phone/Phone/WhatsApp/Media/WhatsApp\ Images/IMG-20140526-WA0001.jpg /home/odwongm/phone_rsync/

strace -T -v -o strace.out cp -pv /home/odwongm/phone/Phone/DCIM/Camera/20140426_174534.jpg /home/odwongm/phone/Phone/DCIM/Camera/20140426_174607.jpg /home/odwongm/phone_rsync/

Я не могу добавить полные выходные журналы strace, поэтому постараюсь прикрепить их отдельно, если это возможно.

В каталоге, где нет этой проблемы, первый вызов статистики занимает относительно много времени ~ 50 секунд, но последующий вызов находится в диапазоне миллисекунд, и, следовательно, передачи из этого каталога выполняются достаточно быстро.

stat ("/ home / odwongm / phone / Phone / WhatsApp / Media / WhatsApp Images / IMG-20140719-WA0004.jpg", {st_dev = makedev (0, 55), st_ino = 6 , st_mode = S_IFREG | 0644, st_nlink = 1, st_uid = 0, st_gid = 0, st_blksize = 4096, st_blocks = 0, st_size = 242968, st_atime = 0, st_atime_nsec = 0, st_mime = 1405764135 / * 2014-07-19 02: 15 + 0100 * /, st_mtime_nsec = 0, st_ctime = 0, st_ctime_nsec = 0}) = 0 < 50.659042>

stat ("/ home / odwongm / phone / Phone / WhatsApp / Media / WhatsApp Images / IMG-20140526-WA0001.jpg ", {st_dev = makedev (0, 55), st_ino = 7, st_mode = S_IFREG | 0644, st_nlink = 1, st_uid = 0, st_gid = 0, st_blksize = 4096, st_blocks = 0 , st_size = 242968, st_atime = 0, st_atime_nsec = 0, st_mtime = 1551643290 / * 2019-03-03T20: 01: 30 + 0000 * /, st_mtime_nsec = 0, st_ctime = 0, st_ctime_nsec = 0}) = 0 < 0,014877 >

Первый вызов статистики из затронутого каталога занимает колоссальные 6 минут, а второй - еще дольше.

stat ("/ home / odwongm / phone / Phone / DCIM / Camera / 20140426_174534.jpg", {st_dev = makedev (0, 55), st_ino = 10, st_mode = S_IFREG | 0644, st_nlink = 1, st_uid = 0, st_gid = 0, st_blksize = 4096, st_blocks = 0, st_size = 3988190, st_atime = 0, st_atime_nsec = 0, st_mtime = 1398530734 / * 2014-04-26T17: 45: 34 + 0100 * / , st_mtime_nsec = 0, st_ctime = 0, st_ctime_nsec = 0}) = 0 < 395.719767>

stat ("/ home / odwongm / phone / Phone / DCIM / Camera / 20140426_174607.jpg", {st_dev = makedev (0, 55), st_ino = 11, st_mode = S_IFREG | 0644, st_nlink = 1, st_uid = 0, st_gid = 0, st_blksize = 4096, st_blocks = 0, st_size = 2608021, st_atime = 0, st_atime_nsec = 0, stm = 1398530767 / * 2014-04-26T17: 46: 07 + 0100 * /, st_mtime_nsec = 0, st_ctime = 0, st_ctime_nsec = 0}) = 0 < 600.081538>

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

1115] Так как strace ясно показывает, что статистический вызов занял много времени, могу ли я провести дальнейшую диагностику, чтобы понять, почему стат-вызов занимает так много времени? Существуют ли какие-либо другие инструменты или дополнительные флаги strace, которые могли бы углубить статистический вызов?

0
задан 26 April 2019 в 02:42

0 ответов

Другие вопросы по тегам:

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