LINUX.ORG.RU
ФорумTalks

Интересно, разработчики слышали про многозадачность?

 ,


0

1

Август 2015 года. Ноутбук Lenovo b590 c Pentium Dual-Core, 3 Gb ОЗУ и неродным HDD на 7200 оборотов шпинделя. Установлена:

$ cat /etc/lsb-release
DISTRIB_ID=Xubuntu
DISTRIB_RELEASE=14.04
DISTRIB_CODENAME=trusty
DISTRIB_DESCRIPTION="Ubuntu 14.04.2 LTS"

Totem играет ролик mp4 скачанный с Youtube. Появляется сообщение о поступивших обновлениях - разрешаю. При установке обновления ядра звук ролика трансформируется в азбуку морзе.

Хочется просто взять и плюнуть ди-джею с суп.



Последнее исправление: Munhgauzen (всего исправлений: 1)
Ответ на: комментарий от stevejobs

на винде когда включается индексация системного жесткого диска - а она включается часто и жрёт не менее 20Мб/с, т.е. ровно макс скорость моего HDD, все программы на винде виснут намертво

4.2 :) Только когда на машине 1-2Гб, а HDD тормозной ноутбучный на 4500RPM, то при активной индексации машина начинает вяло отзываться. Но работает. И звук не затыкается :)

Такое поведение началось с Win 8.0 и продолжается до сего времени

Хуже всего было в WinVista. Описанного тобой не было, но низкая отзывчивость раздражала. Дальше по цепочке только улучшение. Win7 шустрее, чем WinVista, а Win8 шустрее, чем Win7.

...

Вообще, в Linux в этом смысле самое офигенное время было, когда в ядро официально вошёл CFQ: CFQ IO Schedule и /proc/sys/... Или как уменьшить тормоза при интенсивной работе с диском

Эффект плавности работы на 100% IO был офигенным, тогда винда и рядом не валялась. Но потом, год от года, IO стал хуже и хуже. Сейчас — сильно зависит от железа. Где-то выходит лучше, чем на винде (у меня на одном из ноутов, например, Ubuntu работает плавнее, чем Win7), где-то — радикально хуже. Но во всех известных мне вариантах отзывчивость Linux сегодня намного хуже, чем была в период 2006-2007 гг.

KRoN73 ★★★★★
()
Ответ на: комментарий от lenin386

Скорость работы современного жесткого диска - 120 мегабайт в секунду.

Это при последовательном доступе. Например, при копировании диска целиком с помощью dd. И то ближе к концу скорость падает обычно. А в обычном режиме работы десктопа последовательный доступ встречается чуть чаще, чем никогда

Harald ★★★★★
()
Ответ на: комментарий от Stahl

жрёт не менее 20Мб/с, т.е. ровно макс скорость моего HDD

Месье недавно перешёл со старенького MFM на прогрессивный ATA?

MFM уже не помню, совсем давно был, а вот первые мои ATA выдавали 2.7Мб/с, 4.6Мб/с и 6.2Мб/с с первых дорожек диска. Это с 1994-го по 1998-й где-то :) Тогда это был фетиш, подбирать комбинации настроек BIOS, варианты подключения винтов и наборы драйверов, чтобы выжать максимум :)

KRoN73 ★★★★★
()
Ответ на: комментарий от stevejobs

Спешу разочаровать: поставь Windows Server окружение (Microsoft SQL Server, Microsoft Internet Information Server, итп) и наблюдай, как загрузка компа увеличилась до 5 минут

Это бред даже для слабого компа с очень медленным жестким диском. 5 минут загрузки - это что-то из мира Windows 95 на 386-й машине.

С другой стороны, в KDE есть свой индексатор, и он умудряется ЩЕЛКАТЬ ВИНТОМ.

Вот в сторону замены винта я бы и начал копать в твоём случае.

lenin386 ★★★★
()
Ответ на: комментарий от stevejobs

WD Caviar Black, который был подключен к 6Г сата порту. Копирования с жесткого диска на жесткий диск (такой же caviar black) - 20мбс

Обычно, в зависимости от типа HDD и засранности ФС бывает от 30 до 80Мб/с. 20 — это совсем плохо.

KRoN73 ★★★★★
()
Ответ на: комментарий от Harald

А в обычном режиме работы десктопа последовательный доступ встречается чуть чаще, чем никогда

При копировании большого файла с одного физического диска на другой, скорость должна быть очень близкой к пиковой. Если этого нет - ищите проблему.

lenin386 ★★★★
()
Ответ на: комментарий от stevejobs

со временем винда стала грузиться вместо 5 минут по 15 минут

:facepalm: :facepalm: :facepalm:

Я такого не видел даже во времена NT5 на 64Мб оперативки. Она там и то за 4-5 минут грузилась :D Я ещё не видел Win7/8, которая бы грузилась на тормозных ноутах больше, чем за 2-3 минуты. И то считаю это тихим ужасом, норма — это 20-50 секунд. Что можно сотворить с машиной, чтобы грузилась 15 минут — не представляю :)

KRoN73 ★★★★★
()
Ответ на: комментарий от stevejobs

поставь Windows Server окружение

Мы тут, вроде, о десктопах, не?

KRoN73 ★★★★★
()
Ответ на: комментарий от lenin386

При копировании большого файла с одного физического диска на другой, скорость должна быть очень близкой к пиковой. Если этого нет - ищите проблему.

как минимум, это копирование будет прерываться рандомными эпизодическими чтениями-записями в других местах, например, обновить метаданные ФС, в своп залезть, да и эти самые большие файлы не факт что непрерывно располагаются в ФС

Harald ★★★★★
()
Ответ на: комментарий от Rupricht

Не знаю как сейчас, но когда-то смотрел фильмы во время пересборки мира на генте.

Когда-то пересборка мира на Gentoo вообще никак не отражалась на отзывчивости. Но кончилось это лет 5-7 назад :-/

KRoN73 ★★★★★
()
Ответ на: комментарий от Harald

пересборка мира по большей части нагружает процессор, а не IO

:facepalm: :D

Там идёт чтение/запись нередко в десяток-два потоков (скажем, на моих настройках было — до 5 пакетов, компиляция каждого до 10 воркеров). Замена /var/tmp с HDD на tmpfs ускоряет сборку в 2-3 раза.

KRoN73 ★★★★★
()

Хочется просто взять и плюнуть ди-джею с суп.

Ну а канал ввода вывода то один...

torvn77 ★★★★★
()
Ответ на: комментарий от stevejobs

Такое поведение началось с Win 8.0 и продолжается до сего времени.

хм. у меня 7ка, и преодические мертвые висюки на несколько секунд тоже присутствуют. у них какие-то другие причины? (в компе с вендой HDD)

waker ★★★★★
()
Ответ на: комментарий от stevejobs

потому что ты привык к тормозам

блджад, это пишет человек, который недавно пытался убедить меня, что эклипс не тормозит :(

waker ★★★★★
()

у тебя сожрался дисковый io. для предотвращения такого нуно использовать raid миррор, благо в линуксе это просто и удобно, правда ноуты тогда идут в ж, но это и правильно. 10 лет назад начал его использовать и о затыкании звуков/видео при нагрузке на диск с тех времён и не помню. ну и бонусом надёжное хранение информации :).

vtVitus ★★★★★
()
Последнее исправление: vtVitus (всего исправлений: 1)
Ответ на: комментарий от hlebushek

когда компьютер не осиливает сделать максимальный приоритет проигрыванию mp3 музыки, за такое надо убивать.

для этого есть прокладка между креслом и монитором

dimon555 ★★★★★
()

Август 2015 года
HDD на 7200 оборотов шпинделя

Подавился шпинделем чаем.
Я думал, сейчас hdd только для бэкап-хранилищ используют.

anonymoos ★★★★★
()
Ответ на: комментарий от KRoN73

заметил, что например убирание гитовских репозиториев РЕЗКО увеличивает скорость работы ntfs. Когда я удалил с десяток гигов гита с C:, время загрузки системы уменьшилось на пару минут сразу!

или вот например, у меня сейчас сайт (пилю по работе, он при деплоинге разворачивается в полтора гигабайта внутри корневой директории веб-сервера. При этом эти полтора гигабайта - это какие-то бешеные льярды полукилобайтовых файлов. Я никогда не чищу директорию с сайтом, потому что тупо перечисление файлов на удаление может занять больше десяти минут (на HDD больше). На продакшене при накатывании бэкапа мы просто форматируем винт быстрым форматированием, чтобы не ждать. Так вот убирание этого сайта с C: уже само по себе ускоряет загрузку на несколько минут.

не знаю, почему скорость ntfs так зависит от находящегося контента, может быть это как-то можно затвикать, но я не шарю. Просто мирюсь с тормозами.

stevejobs ★★★★☆
()
Ответ на: комментарий от next_time

да кто ж вам всем ionice удаляет ?! отловите, наконец, этого маньяка!

хмхм, у тебя ведь шедулер тоже noop? и как, хорошо найз работает, зачотно?

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Такое поведение началось с Win 8.0

А я и на семерке такое наблюдаю. SearchIndexer (или как его там?) забивает очередь к диску и еще хорошо грузит проц. Как бы ему приоритет понизить? Система i5, 4GB, обычный hdd на 1TB.

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

Если уж вы тут про венду. Как победить на свежеустановленной семерке 100% жор проца процессом svchost (вернее его дочкой wuauclt, отвечающей за обновления), кроме как отключением обновлений?

Kaschenko
()
Ответ на: комментарий от next_time

Если поймаешь его с тарелкой супа, свяжи и тащи сюда. Тс знает, как с ним расправиться.

arturpub ★★
()
Ответ на: комментарий от lenin386

только при условии, что копирование большого файла — единственная операция, в данный момент времени происходящая с hdd

next_time ★★★★★
()
Ответ на: комментарий от next_time

прозвучало как признание в том, что у тебя процессор вместо амд, иначе б ты заметил, что ionice работает только вместе с cfq xD

stevejobs ★★★★☆
()
Ответ на: комментарий от Kaschenko

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

arturpub ★★
()
Ответ на: комментарий от stevejobs

в последний раз им пользовался лет 5 назад, не знаю уже, с чем оно работает

next_time ★★★★★
()
Ответ на: комментарий от Kaschenko

Как победить на свежеустановленной семерке 100% жор проца процессом svchost

Наверное ответы на такие вопросы даже в МС не знают. У меня вот довольно часто случается жор одного ядра процессом svchost.exe netsvcs. Нагуглил вопросы и ответы на сайте МС, попробовал чего там пишут. Не помогло совершенно. Пока забил.

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

возьми process explorer и разберись кто там хостится внутри этого svchost, потом останавливай службы по одной, пока не найдешь виновника

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

Так, вроде, netsvcs это сетевая служба какая-то? Или там внутрях может быть что-то еще? P.S. На кой хер вообще в винде разные службы живут внутри одного процесса? o_O

ls-h ★★★★★
()
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от stevejobs

Да, недостаточно хорошо я знаком с фаршем внутри винды.
Я правильно понимаю, что внутри одного этого процесса http://i.imgur.com/iJeF8ah.png живет вот эта http://i.imgur.com/gmCwZ9P.png куча служб? Темы соседствуют с удаленным доступом, сертификатами, шифрованием и т.п.? И одна кривая служба может положить (убив процесс целиком) кучу важных системы винды? Теперь я догадываюсь, почему в журнале мне несколько раз попадались записи об отвале разных служб подряд (пачками). Как всё продуманно-то!

ls-h ★★★★★
()
Последнее исправление: ls-h (всего исправлений: 1)
Ответ на: комментарий от ls-h

если у тебя именно netsvcs.exe внутри System32, и она работает СТРАННО, то с высокой вероятностью это троян, прокачивающий статистику использования компа в интернет. Попробуй установить антивирус кошмарского, он об нём всё знает.

если ты имешь в виду обычный svchost.exe - то это хаб для разных сервисов. На кой в линуксе есть инит? :) Установи Process Explorer (это бесплатная официальная тулза от мелкомягких), он покажет какие процессы по-настоящему запущены под этим хабом - прямо в дереве процессов покажет. И дальше уже ищи виновника. Добро пожаловать на винфак! xD

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от ls-h

На кой хер вообще в винде разные службы живут внутри одного процесс

На кой хер вообще в юниксе все процессы «живут внутри» одного процесса?

Unicode4all ★★★★★
()
Ответ на: комментарий от stevejobs

Я имею ввиду «c:\windows\system32\svchost.exe -k netsvcs.exe». Доберусь до того компа - попробую.

На кой в линуксе есть инит?

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

ls-h ★★★★★
()
Ответ на: комментарий от Unicode4all

На кой хер вообще в юниксе все процессы «живут внутри» одного процесса?

Щито? Где ты такое видел?

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

А тут, насколько я понял, куча всякой фигни работает внутри одного процесса.

Службы, которые запускаются внутри svchost — обычные dll-ки, плагины для svchost, а svchost — загрузчик их и менеджер. Сделано это, чтобы уменьшить потребление памяти сервисом.

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)
Ответ на: комментарий от ls-h

убей инит (systemd?) и посмотри что будет :) и да, придется потрудиться, современные иниты должны игнорировать sigterm, а в случае смерти должны перезапускаться, надо заюзать что-то хитрое. интересно, как работает halt...

stevejobs ★★★★☆
()
Ответ на: комментарий от stevejobs

убей инит (systemd?) и посмотри что будет :)

Да при чем тут это? Ошибка в каком-нибудь демоне (что по сути является другим процессом) не приведет к падению инита.

ls-h ★★★★★
()
Ответ на: комментарий от ls-h

А ошибка в сервисе svchost'а не приведет к падению smss.exe :) Однако надо отметить, что в винде большая часть системы лежит на сервисах, как у любой микроядерной ОС.

Unicode4all ★★★★★
()
Последнее исправление: Unicode4all (всего исправлений: 1)
Ответ на: комментарий от ls-h

ну на винде это нужно, чтобы снизить затраты ресурсов на создание новых процессов и потоков, расшарить их между собой. Там же всё печально, полтора косаря потоков и досвиданья. Вот тут немного о максимуме в шиндовсе: http://blogs.technet.com/b/markrussinovich/archive/2009/07/08/3261309.aspx

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 1)
Ответ на: комментарий от next_time

Какие-то там ionice'ы должны сами делаться, чтобы у меня музыка играла без прерываний.

hlebushek ★★
()
Ответ на: комментарий от ls-h

btw, вот такая копипаста: https://gist.github.com/olegchir/ee45b5920561be9a2bf2
у меня на Windows 10 x64 смогла создать 1456 процессов, прежде чем подохла с System.OutOfMemoryException

Руссинович: Because each thread consumes part of a process’s address space, processes have a basic limit on the number of threads they can create that’s imposed by the size of their address space divided by the thread stack size.

Т.е. получается, винде нужно постоянно открывать всё новые и новые svchost'ы по мере того, как сервисы выжирают из него треды. Поэтому svchost это не какой-то единый спрятанный от глаз пользователя экзешник, а куча запущенных svchost.exe, заполонивших системный монитор. Правильно?

UPD: нене, стопэ, форсировал сборку в x64, теперь оно могёт в большее количество трэдов... Пока что оно смогло в пять косарей тредов и чиселка продолжает расти.. Что весьма логично... Но когда делали шиндовс, 64-битные процы еще не были популярны, так что аргумент существования svchost'а никуда не девается по историческим причинам...

stevejobs ★★★★☆
()
Последнее исправление: stevejobs (всего исправлений: 3)
Ответ на: комментарий от stevejobs

Установи Process Explorer (это бесплатная официальная тулза от мелкомягких), он покажет какие процессы по-настоящему запущены под этим хабом

Установил. http://i.imgur.com/9fYXxkM.png
Как узнать чего у него внутрях? Развернуть не получатся.

ls-h ★★★★★
()
Ответ на: комментарий от stevejobs

винде нужно постоянно открывать всё новые и новые svchost'ы по мере того, как сервисы выжирают из него треды

И гугл, и здравый смысл говорят, что svchost это не более, чем костыль-высер для запуска сервисов из dll (которые они сами туда же и положили для «реюза»). Точно так же можно было деплоить svcname.exe+svcname.dll, причем экзешник пользовался бы svchost.dll, у юзера бы не возникало дебильных вопросов, а вкладки «services» не существовало бы. Но похоже этот момент от индусов как-то уплыл. А, да, треды-то при чем?

So What Is It?

According to Microsoft: “svchost.exe is a generic host process name for services that run from dynamic-link libraries”. Could we have that in english please?

Some time ago, Microsoft started moving all of the functionality from internal Windows services into .dll files instead of .exe files. From a programming perspective this makes more sense for reusability… but the problem is that you can’t launch a .dll file directly from Windows, it has to be loaded up from a running executable (.exe). Thus the svchost.exe process was born.

arturpub ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.