Я пытаюсь синхронизировать свой 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 >
blockquote>Первый вызов статистики из затронутого каталога занимает колоссальные 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>
blockquote>Кажется в В этом каталоге выходные данные стат-вызова не кэшируются для последующих запросов, но даже в этом случае не кэшированный запрос все же занимает намного больше времени, чем в других каталогах.
1115] Так как strace ясно показывает, что статистический вызов занял много времени, могу ли я провести дальнейшую диагностику, чтобы понять, почему стат-вызов занимает так много времени? Существуют ли какие-либо другие инструменты или дополнительные флаги strace, которые могли бы углубить статистический вызов?