Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Не понятно что грузит процессор на 100%  (Прочитано 2543 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн brenti

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
Открыл случайно системный монитор и увидел, что проц загружен на всю катушку, перезагрузился - картина таже) команда top никакой ясности не дала, все процессы там не более 8% от цп забирают и то их там пяток. В чем может быть проблема? Система Ubuntu 10.04, не очень забавно когда "оптимизированный" линукс сжигает жизнь твоего железа))




Пользователь решил продолжить мысль [time]18 Август 2014, 14:04:50[/time]:
Ахах))) нашёл, что грузит, это мой бутафорский скрипт запускающий статус печати принтера #!/bin/bash
sleep 30
/usr/bin/captstatusui -P LBP2900 -e &
while true
do
    if [ "`pidof /usr/bin/captstatusui`" ]
    then
        sleep 0
    else
        /usr/bin/captstatusui -P LBP2900
    fi
done

Тему можно закрывать  ;D и если кто знает как запускать этот самый скрипт с меньшими нагрузками на процессор подскажите, что в него нужно дописать?)
« Последнее редактирование: 18 Августа 2014, 14:21:59 от brenti »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Не понятно что грузит процессор на 100%
« Ответ #1 : 18 Августа 2014, 15:10:54 »
Сделай слип секунд на побольше, чем нуль и посмотри на результаты.
Как я понял этот скрипт пасёт работу /usr/bin/captstatusui и в случае его падения - восстанавливает (правда только один раз ) )

Может лучше так?
#!/bin/bash

sleep 30
while true
     /usr/bin/captstatusui -P LBP2900 -e
     sleep 30
done
Без амперсанда. Бесконечный цикл отрабатывает когда captstatusui падает.
« Последнее редактирование: 18 Августа 2014, 15:12:42 от fisher74 »

Оффлайн brenti

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
Re: Не понятно что грузит процессор на 100%
« Ответ #2 : 25 Сентября 2014, 21:42:55 »
Сделай слип секунд на побольше, чем нуль и посмотри на результаты.
Как я понял этот скрипт пасёт работу /usr/bin/captstatusui и в случае его падения - восстанавливает (правда только один раз ) )

Может лучше так?
#!/bin/bash

sleep 30
while true
     /usr/bin/captstatusui -P LBP2900 -e
     sleep 30
done
Без амперсанда. Бесконечный цикл отрабатывает когда captstatusui падает.
Увы! Ваш скрипт вообще не рабочий



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

По идеи эта команда /usr/bin/captstatusui -P LBP2900 -e запускает в фоновом режиме для отслеживания статуса печати, только вот в каноне сделали косячную эту фишку (не работает должным образом не на 10.04 и 12.04 на др. не тестировал) окошко вылезает в нужный момент, но когда я жму на продолжить печать или отменить, то этот процесс вылетает. А вот если запускать эту команду без параметра "-е" то бишь /usr/bin/captstatusui -P LBP2900 то всё норм! Но минус этой команды то, что она запускает сразу окно статуса и не скрывает его в фоне, пока не нажмешь на кнопку скрыть в этом окне)
Короче говоря я не стал париться и добавил этот ярлык на панель дока, чтобы вручную его запускать когда нужно возобновить печать или остановить, через компиз убрал кнопки закрыть и свернуть - оставив только кнопку скрыть статус в фоне, теперь достаточно один раз за сеанс запустить ярлык если в этом будет необходимость и после этого на кнопку скрыть и работать он будет как положено (то есть появляться сам когда это необходимо и не вылетать как в первом случае) до перезагрузки системы  :) Мой бутафорский скрипт запускал первую команду в фоновом режиме при запуске системы, и когда в принтере заканчивалась бумага он вылезал в нужный момент, я жмакал на кнопку продолжить - окно вылетало (прога падала) и тут же мой скрипт открывал статус принтера через вторую команду где всё работало корректно, единственный минус этого способа ради которого мне пришлось от него отказаться это то, что скрипт грузил процессор на все 100%.



p.s. Да уже почти больше месяца прошло, сегодня решил зайти увидел сообщение и подумал, что нужно всё таки проверить и отписаться))) Уже наверное пол года как я перестал пилить свою Ubuntu 10.04) видимо теперь меня всё устраивает, стабильность превыше всего)
« Последнее редактирование: 25 Сентября 2014, 21:48:40 от brenti »

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13758
    • Просмотр профиля
Re: Не понятно что грузит процессор на 100%
« Ответ #3 : 25 Сентября 2014, 22:25:07 »
Увы! Ваш скрипт вообще не рабочий
Потому что
#!/bin/bash

sleep 30
while true
do
     /usr/bin/captstatusui -P LBP2900 -e
     sleep 30
done
часть оператора (do) профукал.
Извините, пропустил Вашу "неудачу"

Оффлайн brenti

  • Автор темы
  • Активист
  • *
  • Сообщений: 485
    • Просмотр профиля
Re: Не понятно что грузит процессор на 100%
« Ответ #4 : 28 Сентября 2014, 13:05:21 »
Увы! Ваш скрипт вообще не рабочий
Потому что
#!/bin/bash

sleep 30
while true
do
     /usr/bin/captstatusui -P LBP2900 -e
     sleep 30
done
часть оператора (do) профукал.
Извините, пропустил Вашу "неудачу"

Опять не то!)))) Ваш скрипт после падения статуса принтера снова запускает его через команду "/usr/bin/captstatusui -P LBP2900 -e" и делает он это через 30 секунд) И когда я жму на продолжить или отменить печать то снова происходит падение и так до бесконечности с интервалами запуска окна статуса в 30сек.



Очень важно чтобы после падения запускалась команда именно вот такая "/usr/bin/captstatusui -P LBP2900" только в этом случае окно статуса рабочее и не падает при нажатии на продолжить или отменить печать.
p.s. Но всё равно спасибо, что уделили время на мои причуды  ;)

Пользователь решил продолжить мысль 28 Сентября 2014, 14:32:37:
Кажется у меня получилось!  :)

#!/bin/bash

sleep 0
while true
do
     /usr/bin/captstatusui -P LBP2900 -e
     sleep 0
     /usr/bin/captstatusui -P LBP2900
done

Запуск статуса печати в фоне, при отсутствии бумаги, вылезает окно от команды с параметром "-е", жму отменить/продолжить печать - окно падает и тут же появляется окно запускаемое командой "/usr/bin/captstatusui -P LBP2900" где я жму отменить, задание снимается, жму на скрыть статус и он уходит в фон. Как я и хотел 8) и главное, всё это не грузит процессор как в первом моём скрипте!
Спасибо за внимание!
« Последнее редактирование: 28 Сентября 2014, 14:32:37 от brenti »

 

Страница сгенерирована за 0.06 секунд. Запросов: 24.