Форум программистов, компьютерный форум, киберфорум
Visual C++
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 8

Объекты ядра

07.01.2016, 12:52. Показов 534. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Здравствуйте. Помогите, пожалуйста, сижу ломаю голову почему не работают ограничения, которые я накладываю на мою задачу hjob. Процесс так и продолжает использовать 90% CPU(а должен всего 20%) и запускаться с приоритетом Normal или Below Normal(а должен с ldle). Скорее всего ошибка вот тут:
C++
1
SetInformationJobObject(hjob, JobObjectCpuRateControlInformation, &jobli, sizeof(JOBOBJECT_CPU_RATE_CONTROL_INFORMATION));
или тут
C++
1
AssignProcessToJobObject(hjob, pi.hProcess);
А вот и весь код
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// process_c++.cpp: определяет точку входа для консольного приложения.
//
 
#include "stdafx.h"
#include <windows.h>
#include <stdio.h>
#include <iostream> 
using namespace std;
 
int main()
{
    HANDLE hjob = CreateJobObject(NULL, NULL);
    JOBOBJECT_CPU_RATE_CONTROL_INFORMATION jobli = { 0 };
    jobli.CpuRate = 2000;
    SetInformationJobObject(hjob, JobObjectCpuRateControlInformation, &jobli, sizeof(JOBOBJECT_CPU_RATE_CONTROL_INFORMATION));
    JOBOBJECT_BASIC_LIMIT_INFORMATION jobli1 = { 0 };
    jobli1.PriorityClass = IDLE_PRIORITY_CLASS;
    SetInformationJobObject(hjob, JobObjectBasicLimitInformation, &jobli1, sizeof(JOBOBJECT_BASIC_LIMIT_INFORMATION));
    STARTUPINFO si = { sizeof(si) };
    PROCESS_INFORMATION pi;
    ZeroMemory(&si, sizeof(STARTUPINFO));
    si.cb = sizeof(STARTUPINFO);
    si.dwX = 200;
    si.dwY = 200;
    si.dwXSize = 600;
    si.dwYSize = 300;
    si.dwXCountChars = 100;
    si.dwYCountChars = 100;
    si.dwFillAttribute = FOREGROUND_BLUE | FOREGROUND_GREEN | FOREGROUND_RED;
    TCHAR p[] = TEXT("C:\\Users\\1\\Desktop\\YandexDisk\\все для гранта\\loop\\loop\\bin\\Debug\\loop.exe");
    si.lpTitle = p;
    si.dwFlags = STARTF_USECOUNTCHARS | STARTF_USEFILLATTRIBUTE | STARTF_USEPOSITION | STARTF_USESHOWWINDOW | STARTF_USESIZE;
    si.wShowWindow = SW_SHOW;
    CreateProcess(p, NULL, NULL, NULL, FALSE, CREATE_NEW_CONSOLE, NULL, NULL, &si, &pi);
    AssignProcessToJobObject(hjob, pi.hProcess);
    ResumeThread(pi.hThread);
    /*CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
    CloseHandle(hjob);*/
    system("PAUSE");
    return 0;
}
Добавлено через 7 минут
Описка во втором предложении: там не "задачу", а "задание"
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
07.01.2016, 12:52
Ответы с готовыми решениями:

Как "увидеть" именованные объекты ядра (event), созданные в одной сессии, из другой сессии ?
Добрый день! Появилась неожиданная задача: Win 2008 Server, и в нём несколько сессий различных пользователей. И между некоторыми парами...

нетбук с каким процом лучше n550(2 ядра )или C-50(2 ядра )?
всем привет решил в следюющем году сдать егэ по инфе =&gt; надо готовится и учить програмирование а без практики одной теории мало по этому...

Помогайте выбрать: видюха 640М и проц i7 2.4Гц (4 ядра) или 750M и i7 2Гц (2 ядра) ?
Приветствую. Вот занес уже руку в кошелек для покупки ноута Acer ASPIRE V5-572G но тот засомневался в сторону V3-571G. Оба с ips...

2
Ушел с форума
Эксперт С++
 Аватар для Убежденный
16481 / 7444 / 1187
Регистрация: 02.05.2013
Сообщений: 11,616
Записей в блоге: 1
07.01.2016, 13:10
1. Читай внимательно описание функции SetInformationJobObject, я имею в виду
структуру JOBOBJECT_CPU_RATE_CONTROL_INFORMATION и какие флаги туда
следует передавать.

2. Где проверка ошибок? У тебя здесь вызывается 6 функций и нигде не проверяется,
что они отработали успешно. На таких подходах далеко не уедешь.
1
0 / 0 / 0
Регистрация: 16.05.2015
Сообщений: 8
07.01.2016, 16:30  [ТС]
Спасибо, пересмотрел внимательно флаги, поставил, и все заработало!
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
07.01.2016, 16:30
Помогаю со студенческими работами здесь

Что выбрать: Intel 2 ядра или AMD 4 ядра?
Нужен дельный совет от гуру! Могу взять АМД проц 4 ядра, либо интеловский 2 ядерный, цена примерно та же. Боюсь, что с интеловским...

Что будет лучше i7 2630qm (2 Гц 4 ядра) vs i5 3230m (2,6 Гц 2 ядра) ?
Что будет лучше i7 2630qm (2 Гц 4 ядра) vs i5 3230m (2,6 Гц 2 ядра) ? Не использую программы поддерживающие многопоточность.

Что выбрать? 2 ядра 3100 Мгц или 4 ядра 1100 Мгц
Господа помогите с выбором ноутбука. Выбираю из этих двух: 1....

Как уничтожать динамические объекты и вообще объекты, если это необходимо сделать в их процедурах?
Создать отдельную процедуру CloseObject(Object: TObject) и вызывать ее в конце процедуры или так тоже нельзя? А то бесят эти access...

Встроенные объекты Java Script. Объекты Array, Date
Создать массив, содержащий названия элементов, находящихся в системном блоке компьютера. Добавить к нему массив, содержащий названия ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
Вывод данных через динамический список в справочнике
Maks 01.04.2026
Реализация из решения ниже выполнена на примере нетипового справочника "Спецтехника" разработанного в конфигурации КА2. Задача: вывести данные из ТЧ нетипового документа. . .
Функция заполнения текстового поля в реквизите формы документа
Maks 01.04.2026
Алгоритм из решения ниже реализован на нетиповом документе "ВыдачаОборудованияНаСпецтехнику" разработанного в конфигурации КА2, в дополнении к предыдущему решению. На форме документа создается. . .
К слову об оптимизации
kumehtar 01.04.2026
Вспоминаю начало 2000-х, университет, когда я писал на Delphi. Тогда среди программистов на форумах активно обсуждали аккуратную работу с памятью: нужно было следить за переменными, вовремя. . .
Идея фильтра интернета (сервер = слой+фильтр).
Hrethgir 31.03.2026
Суть идеи заключается в том, чтобы запустить свой сервер, о чём я если честно мечтал давно и давно приобрёл книгу как это сделать. Но не было причин его запускать. Очумелые учёные напечатали на. . .
Модель здравосоХранения 6. ESG-повестка и устойчивое развитие; углублённый анализ кадрового бренда
anaschu 31.03.2026
В прикрепленном документе раздумья о том, как можно поменять модель в будущем
10 пpимет, которые всегда сбываются
Maks 31.03.2026
1. Чтобы, наконец, пришла маршрутка, надо закурить. Если сигарета последняя, маршрутка придет еще до второй затяжки даже вопреки расписанию. 2. Нaдоели зима и снег? Не надо переезжать. Достаточно. . .
Перемещение выделенных строк ТЧ из одного документа в другой
Maks 31.03.2026
Реализация из решения ниже выполнена на примере нетипового документа "ВыдачаОборудованияНаСпецтехнику" с единственной табличной частью "ОборудованиеИКомплектующие" разработанного в конфигурации КА2. . . .
Functional First Web Framework Suave
DevAlt 30.03.2026
Sauve. IO Апнулись до NET10. Из зависимостей один пакет, работает одинаково хорошо как в режиме проекта так и в интерактивном режиме. из сложностей - чисто функциональный подход. Решил. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru