Почему мой ПК замораживается, в то время как я копирую файл в pendrive?

Можно открыть его изменением, расширение файла от .bak до .tgz затем открывает его с приложением Winzard или Winzip

64
22.07.2018, 06:00
3 ответа

Вы используете 64-разрядную версию Linux с большой памятью? В этом случае проблема могла состоять в том, что Linux может заблокировать в течение многих минут на больших записях на медленных устройствах как, например, SD-карты или карты с интерфейсом USB. Это - известная ошибка, которая должна быть исправлена в более новых ядрах.

См. http://lwn.net/Articles/572911/

Обходное решение: как основная проблема:

echo $((16*1024*1024)) > /proc/sys/vm/dirty_background_bytes
echo $((48*1024*1024)) > /proc/sys/vm/dirty_bytes

Я добавил его к моему /etc/rc.local файл в моих машинах на 64 бита.

TANSTAAFL; это изменение может (и вероятно будет) уменьшать Вашу пропускную способность до этих устройств---, это - компромисс между задержкой и скоростью. Для возвращения к предыдущему поведению, Вы можете

echo 0 > /proc/sys/vm/dirty_background_bytes
echo 0 > /proc/sys/vm/dirty_bytes

... которые являются значениями по умолчанию, означая, что поведением обратной записи будут управлять параметры dirty_ratio и dirty_background_ratio.

Отметьте not-so-expert-with-linux людьми: файлы в /proc псевдофайлы---просто каналы передачи между ядром и пространством пользователя. Никогда не используйте редактора, чтобы измениться или посмотреть на них; получите вместо этого приглашение оболочки---, например, с sudo -i (Разновидности Ubuntu) или su root и используйте echo и cat).

Обновите 18.04.2016, кажется, что, в конце концов, проблема все еще здесь. Можно посмотреть на него по LWN.net в этой статье об очередях обратной записи.

87
27.01.2020, 19:32
  • 1
    у меня есть 64 бита, но только 1 ГиБ RAM, и я должен сказать Вам это решение работы! Я только что протестировал его, и после установки этих двух параметров, больше нет никакого замораживания. :) –  Mikhail Morfikov 03.01.2014, 21:10
  • 2
    В моих 14,04 установках, uname -a возвраты 3.13.0-32-generic, так да. Но я не проверил, был ли патч для проблемы наконец интегрирован в ядре или нет. У меня есть машина на 16 ГБ, и это, кажется, работает хорошо без обходного решения, хотя я должен сказать, что не попробовал особенно медленными устройствами. –  Rmano 07.08.2014, 18:56
  • 3
    @IonicăBizău---, который является псевдофайлом, не редактирует его с vim когда-либо. Получите корневую оболочку (с sudo -i) и используйте вышеупомянутые команды. –  Rmano 05.10.2014, 20:52
  • 4
    @Rmano Это работало! Однако я действительно редактировал его с VIM.Спасибо! –  Ionică Bizău 05.10.2014, 21:49
  • 5
    я использую человечность 16.04 на совершенно новом ноутбуке (с 16 ГБ ПОРШНЯ). Я был действительно сердит на эту проблему. Ваше решение работало как очарование! Возможно, Вы могли добавить, что это могло все еще быть необходимо с ядром 4.8.0-45. –  LGenzelis 14.04.2017, 21:58

аппаратные средства по сравнению с программным обеспечением

Я столкнулся со странной проблемой, подобной этому с картами флэш-памяти USB, и в моем исследовании это - почти всегда или проблема драйвера или определенные аппаратные средства в ПК/материнской плате.

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

Что сделать?

Вы опции действительно ограничены здесь. О единственных вещах можно сделать, удостоверяются, что Вам установили последний BIOS/встроенное микропрограммное обеспечение в Вашей системе и удостоверяетесь, что у Вас есть последние версии пакетов Вашего disto.

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

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

Что-нибудь еще?

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

Пример

$ strace -o cp1.log cp -r /path/to/dir1 /path/to/usb/. 

Затем, в то время как это - рабочий запуск другой.

$ strace -o cp2.log cp -r /path/to/dir2 /path/to/usb/. 

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

1
27.01.2020, 19:32
  • 1
    я всегда использую единственный один экземпляр копирования файла. У меня есть BIOS, обновленный (2008), и с тех пор нет никакой более новой версии. Я думаю, что это не BIOS. Мой debian дистрибутив также обновляется к ответвлению тестирования. Я пытался использовать strace и это соединило замораживание звездой почти немедленно, таким образом, я ожидал несколько секунд и уничтожил процесс. Я получил журнал 1 МБ, но я не могу считать его, я не знаю, что искать. Можно проверить его здесь pastebin.com/u29RvqgC - это не полный журнал (ограниченный 500 КБ), но были только подобные строки тем, которые в конце. Я попытаюсь воспроизвести эту проблему с человечностью живой CD. –  Mikhail Morfikov 03.01.2014, 19:08
  • 2
    , я обновил вопрос для проживания тестирования CD. –  Mikhail Morfikov 03.01.2014, 19:51
  • 3
    @MikhailMorfikov - Я думаю, что Вы в значительной степени в конце того, что можно ожидать делать. Ваши аппаратные средства довольно стары (2008) и очень еще существует действительно не, можно сделать вне того, что я обрисовал в общих чертах выше. –  slm♦ 03.01.2014, 20:03
  • 4
    Но еще более старые ПК могут скопировать файлы без проблем. –  Mikhail Morfikov 03.01.2014, 20:20
  • 5
    @MikhailMorfikov - Возраст не является единственным фактором, но вероятный капот получения любых обновлений встроенного микропрограммного обеспечения или обновлений программного обеспечения для старых аппаратных средств является низким, то, что я имел в виду. –  slm♦ 03.01.2014, 20:22

Причина может быть усилением записи, так как система пытается писать в кусках, которые меньшие, чем стереть блок (выполнение чтения / мода / записи) + блок + смещение.

Чтобы проверить текущую настройку:

cat /sys/block/sd**X**/device/max_sectors

Вы можете настроить правила зала для этих устройств:

Изменение значения USB «MAX_SECTORS» для всего семейства устройств

в этом случае я заменял MAX_SECTORS для всех Устройства, которые использовали по умолчанию 240 (USB-хранилище) до 32K секторов или 2K секторов.

На моей системе (Mageia 4, 3.14.24 Core I7) Я должен был сделать это из-за ужасных медленных скоростей записи (2 МБ / с) на Kingston DT101 G2 16GB:

vi /usr/lib/udev/rules.d/81-udisks_maxsect.rules

и добавить:

SUBSYSTEMS=="scsi", ATTR{max_sectors}=="240", ATTR{max_sectors}="32678"

и DD Скорость записи поднималась 3 раза. MC CP , вероятно, 10-20x вверх (после того, как я начал первый раздел @ 8192 сектор и переформатировал с 64 k выровненными кластерами):

fdisk -u /dev/sdh # make DOS compat off if on
mkfs.vfat /dev/sdh1 -n KINGSTON16G -s 128 **-R 4592*** and use *fsck.vfat -v /dev/sdh1

для проверки выравнивания (проверьте [Сектор начала данных] должен быть кратным 128 (размер кластера)). Отрегулируйте номер зарезервированных секторов (-R), если это необходимо.

По умолчанию max_sectors (240), кажется, вызывают высокое усиление записи на некоторых дешевых новых дисках. Но будьте очень осторожны с такой высокой настройкой, аналогичный эффект достигается на 2048 секторах (вероятно, 1 М Степенные блоки:

SUBSYSTEMS=="scsi", ATTR{max_sectors}=="240", ATTR{max_sectors}="2048"

Проверьте все ваши старые USB-устройства, что они все еще хорошо работают. Используйте атрибуты поставщика / модели в файлах правил более конкретный.

3
27.01.2020, 19:32

Теги

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