Ошибка "Область данных, переданная системному вызову, слишком мала", когда приложение Магазина Windows после установки использует более 8 ГБ памяти.
Это странно, и мне потребовалось довольно много времени, чтобы добраться до простого воспроизведения!
Действия по воспроизведению:
- Перезагрузите компьютер и войдите (Windows 10)
Запускайте приложения так, чтобы общее использование памяти превышало 8 ГБ. Для меня это либо Visual Studio, chrome, VSCode и т. Д. (С Docker и SQLServer, работающими в фоновом режиме), либо просто запуск "testlimit -d -c 4096" (с использованием testlimit из sysinternals)
Попробуйте установить что-нибудь из Магазина Windows (например, Slack). Я не уверен, должно ли приложение быть приложением Desktop Bridge или проблема существует и для приложений UWP. Похоже, не имеет значения, пришло ли приложение напрямую из Магазина Windows или это приложение с боковой загрузкой.appx
Ожидаемый результат:
- Приложение запускается и запускается
Фактический результат:
- Сбой приложения с сообщением: "Область данных, переданная системному вызову, слишком мала".
Мой вопрос: кто-нибудь может предложить, как я могу устранить эту ошибку, чтобы найти основную причину? Кроме того, кто-нибудь еще может воспроизвести эту же проблему? Меня интересует, является ли это чем-то конкретным для моего ПК, или это проблема с Windows Store в целом.
2 ответа
Существует проблема несовместимости с MS SQL Server 2017 (и 2014/2016). По возможности удалите SQL Server. В противном случае эти исправления могут решить проблему:
Если вы используете его только для целей разработки, можно вместо этого запускать в контейнере Docker, который работает достаточно изолированно, чтобы предотвратить эту ошибку. У меня очень хороший опыт работы с SQL Server 2017 для Linux, который работает стабильно и быстро.
Я получаю эту проблему с подсистемой Windows для Linux при попытке запустить Ubuntu. Для меня это не связано с памятью, я могу попробовать запустить Ubuntu, как только моя машина перезагрузится, и я войду в систему и получу сообщение об ошибке.
Я думаю, что в моем случае это на самом деле связано с наличием сетевого домашнего диска и включением автономных файлов на этом диске.
Я могу установить свежую версию Windows 10, установить и настроить WSL и Ubuntu, запускать ее в течение нескольких недель без включения автономных файлов, и она отлично работает. После включения автономных файлов и перезагрузки Ubuntu больше не запускается и выдает сообщение об ошибке "область данных слишком мала". Отключение автономных файлов для домашнего диска и даже полное отключение автономных файлов, похоже, не решают проблему. Таким образом, единственный обходной путь, который я нашел, - никогда не включать автономные файлы на моем домашнем диске.
Я столкнулся с той же проблемой ("Область данных, переданная системному вызову, слишком мала") в Windows 10. Из-за этой проблемы мне не удалось открыть Skype. После некоторого анализа возникла проблема с драйверами Microsoft SQL Server.
Чтобы решить эту проблему, я отключил скайп при запуске в диспетчере задач (Скайп коснулся только меня). затем я перезагружаю систему и после перезагрузки системы затем открываю скайп, он работает нормально