По моему опыту, лучший способ ускорить резервное копирование на основе rsync+hardlink - это уменьшить количество файлов.
Большое количество маленьких файлов замедляет работу rsync сильно.
Если вы можете организовать свои данные таким образом, чтобы ваши каталоги, в основном состоящие из небольших файлов и предназначенные только для чтения, были tar
red up, вы должны увидеть значительное ускорение в вашем сценарии резервного копирования.
(С помощью таких инструментов, как archivemount
, вы сможете получить доступ к этим архивам без их извлечения).
Распараллеливание сценария резервного копирования, вероятно, не поможет или даже замедлит его (предсказуемый доступ к диску более оптимален).
Частичный ответ: Я объясню некоторую предысторию, вам все равно нужно выяснить, что идет не так.
Кодеки Intel HDA описываются как граф узлов, обозначенных шестнадцатеричными значениями. Вы можете использовать кодек
для создания графа в виде файла postscript (хотя большие графы обычно нечитаемы), но вот грубое текстовое представление:
N = Node P = Pin M = Mixer I = Audio In O = Audio Out S = Selector
I07 <- S24 <- P12* P13
I08 <- S23 <- P18* P19 P1a P1b P1d M0b
I09 <- S22 <- P18 P19 P1a P1b P1d M0b P12* P13 # capture stream = 1
O02 stream=1 # Speaker Playback Volume
O03 stream=1 # Headphone Playback Volume
O06 # Digital
M0b <- P18 P19 P1a P1b P1d
M0c <- O02 M0b # (Speaker)
M0d <- O03 M0b # (Headphone)
P12 # Fixd Mic Int / Internal Mic Boost Volume
P13 # N/A Lin Out Ext / Amp In # = Line In?
P14 <- M0c # Fixd Speaker Int / Speaker Playback
P15 <- M0c M0d* # Jack HP Out Ext Left / Headphone Playback
P16 <- M0c M0d* # N/A Speaker Ext Rear / Headphone Playback
P18 <- M0c* M0d # N/A Speaker Ext Rear / Amp I/O
P19 # N/A Speaker Ext Rear / Dock Mic Boost Volume
P1a # Jack Mic Ext Left / Mic Boost Volume
P1b <- M0c* M0d # N/A Speaker Ext Rear / Amp I/O
P1d # N/A Modem Ext
P1e <- N06 # N/A Speaker Ext Rear / Digital
Я добавил к узлам их функции. Не все контакты на чипе кодека к чему-то подключены, поэтому просто игнорируйте их.
Просто посмотрите на запись, только узел 09
используется для захвата звука. Узел 12
- это аналого-цифровой преобразователь внутреннего микрофона, а узел 1a
- это аналого-цифровой преобразователь с разъемом внешнего микрофона. В вашем дампе узел селектора 22
выбирает узел 12
для захвата, поэтому я предполагаю, что дамп был сделан без подключения наушников.
Теперь нам нужно выяснить, что меняется, когда вы подключаете гарнитуру. Сохраните кодек # 0
и вывод amixer -c0 contents
в двух временных файлах, подключите гарнитуру и снова сохраните оба в двух разных временных файлах. файлы. Сравните файлы с diff -u8
и т. Д., Определите узлы и элементы управления, которые изменяются, и обновите свой вопрос.
Я предполагаю, что узел селектора 22
переключится на 1a
, и, возможно, произойдут некоторые изменения звука и / или громкости. Однако я не вижу элемента управления ALSA на узле 22
, поэтому я не знаю, как на него повлиять через микшер
.
Также ищите Auto-Mute Mode
или что-нибудь подобное в amixer -c0 controls
. Если вы что-то найдете, отключите это (попробуйте все комбинации, если их несколько) и повторите все снова. Таким образом, мы можем узнать, что пытается сделать автоматический код ALSA по умолчанию при подключении наушников, и выяснить, не влияет ли что-то еще на оборудование.
Редактировать : Если я правильно прочитал исходный код ALSA, это не драйвер ALSA, переключающий узел 0x22. Следующее предположение состоит в том, что это может быть какая-то функция Режим управления системой (SMM) в вашем ноутбуке, но это дикая догадка. (Вы можете попытаться отключить SMM при загрузке, чтобы проверить, так ли это, из любопытства, но тогда, вероятно, другие функции вашего ноутбука также перестанут работать).
В любом случае, на мой взгляд, на этом узле должен быть микшер ALSA, чтобы пользователь мог изменить настройку. Пожалуйста, обновите ядро до последней доступной версии и посмотрите, не изменится ли что-нибудь. Если нет, сообщите об ошибке разработчикам ALSA, возможно, они смогут добавить «причуду» (особый случай) к драйверу для вашего ноутбука. Включите дамп кодека и как можно точнее определите свой ноутбук. lspci -nm
или аналогичный также может помочь, если им нужен идентификатор подсистемы звукового устройства.
А пока вы можете использовать hda-verb
для прямого переключения узла 0x22. В Debian это часть пакета alsa-utils
. Как root,
hda-verb /dev/snd/hwC0D0 0x22 GET_CONNECT_SEL 0
должен показать вам выбранный индекс соединения (начиная с 0) узла 0x22. Это должно быть либо 2
, либо 6
. Если это работает, с помощью
hda-verb /dev/snd/hwC0D0 0x22 SET_CONNECT_SEL 2
вы можете переключить узел на индекс 2 (или на 6 с 6
в качестве последнего аргумента). Проверьте с помощью содержимого codec # 0
, что он работал должным образом. Это должно позволить вам использовать внутренний микрофон после подключения наушников.