В конце концов, если повезет, погуглив «случайные потери соединения в vbox и ошибки», я наткнулся на людей, предполагающих, что эмуляция Intel NIC по умолчанию вызывает нестабильность и проблемы с производительностью. Слишком много случайных людей только предполагают, что после замены виртуального сетевого адаптера Intel по умолчанию на что-то другое нестабильность исчезла.(К сожалению, без каких-либо предположений, почему это происходит ).
Я взглянул, и вот, действительно, в Интерфейс «VM Virtualbox Manager» -> Имя виртуальной машины -> Настройки -> Сеть -> Дополнительно -> Тип адаптера. У меня был по умолчанию виртуальный NIC «Intel Pro 1000». МТ Настольный (8254OEM )".
Таким образом, я выключил рассматриваемую виртуальную машину.
Зная, что у меня уже установлены инструменты VBox, и опираясь на свой опыт работы с другими виртуальными средами, где паравиртуализированные сетевые адаптеры обеспечивают гораздо большую производительность и требуют меньше ресурсов процессора, я изменил тип сетевого адаптера по умолчанию на «Паравиртуализированная сеть (virtio -net )"в двух интерфейсах, которые я использую.
Хотя в прошлом VirtIO был известен в VirtualBox своими ошибками, в моих тестах он показал хорошие результаты.
Разница в скорости при маршрутизации трафика была мизерной, а ошибки полностью исчезли.
ПС. Я подозреваю, что это ошибка vbox box при эмуляции «физической» карты Intel NIC, и она не имеет ничего общего с моим реальным оборудованием. На самом деле я сначала изменил eth0, у меня тоже начались проблемы с eth1, а затем я изменил оба. Похоже, что эмуляция Intel VNIC вызывала проблемы в eth0 и eth1 одновременно. Как я уже говорил в вопросе теперь , eth1 никоим образом не связан с физической сетевой картой.
ПС2. Да, я знаю, что паравиртуализация обычно дает толчок. Основным вопросом здесь было избавление от серьезной нестабильности.
Это смущает, поскольку я уже задавал этот точный вопрос всего несколько дней назад. Даже не догадывался...
Решение состоит в том, чтобы добавить полный путь -к команде -, поскольку этой команды нет в cron PATH
.
Код изменен на:
sudo su
/sbin/runuser -l $username -c 'DISPLAY=:0 /opt/piavpn/bin/pia-client &> /dev/null &'
Источник/кредит:Комментарий @steeldriver к этому вопросу