powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Solaris - процессы, потоки, CPU
16 сообщений из 16, страница 1 из 1
Solaris - процессы, потоки, CPU
    #35416101
yallow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Привет,

есть один мультипотоковый процесс и 16 CPU, на которых эти потоки работают.
Коллега уперся и говорит, что процесс работает только на одном CPU из 16.

Кто-нибудь знает команду которая бы доказала обратное. То есть показала загрузку каждого CPU только для одного этого процесса ..

Спасибо.
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35416231
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну так можна посмеотреть
Код: plaintext
prstat, mpstat, cputrack 
если вы имеете ввиду LWP под мнгопотоковым процессом.
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35417522
yallow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, спасибо, но какая из этих команд может показать, что LWP одного процесса работают на разных CPU?
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35417607
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая версия Solaris?

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418061
yallow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
10
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418167
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Косвенно можно получить, использовав скрипт threaded.d из DTraceToolkit

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418324
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или вот я сам родил :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#pragma D option quiet

sched:::on-cpu
/pid == $1/
{
        printf("CPU: %3d LWP: %3d\n", cpu, curlwpsinfo->pr_lwpid);
}

Соответственно, запускать так:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
# dtrace -s cpus.d 1457
CPU:   0 LWP:   1
CPU:   0 LWP:   1
CPU:   0 LWP:  13
CPU:   0 LWP:  13
CPU:   1 LWP:  12
CPU:   1 LWP:  12
CPU:   1 LWP:   1
CPU:   1 LWP:   1
CPU:   0 LWP:   1
CPU:   1 LWP:   1

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418409
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Или вот так - для каждого процессора распределение сколько раз какой LWP на ём работал (в этой системе 2 процессора и 15-тредовый процесс 1457 (LGWR оракловский), предполагается не более 1000 тредов в процессе:

Код: plaintext
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.
43.
44.
45.
46.
47.
48.
sched:::on-cpu
/pid == $1/
{
        @[cpu] = lquantize(curlwpsinfo->pr_lwpid, 0, 1000, 1);
}

bash-3.00# dtrace -s cpus.d 1457
dtrace: script 'cpus.d' matched 3 probes
^C

        1
           value  ------------- Distribution ------------- count
               0 |                                         0
               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@@         91
               2 |                                         0
               3 |                                         0
               4 |                                         0
               5 |                                         0
               6 |                                         0
               7 |@                                        4
               8 |                                         0
               9 |                                         0
              10 |@@                                       6
              11 |                                         0
              12 |@@                                       6
              13 |                                         0
              14 |                                         0
              15 |@@                                       6
              16 |                                         0

        0
           value  ------------- Distribution ------------- count
               0 |                                         0
               1 |@@@@@@@@@@@@@@@@@@@@@@@@@@@@@            71
               2 |                                         0
               3 |                                         0
               4 |                                         0
               5 |                                         0
               6 |                                         0
               7 |@                                        2
               8 |@@                                       6
               9 |@@                                       6
              10 |                                         0
              11 |                                         0
              12 |                                         0
              13 |@@@                                      8
              14 |@@                                       6
              15 |                                         0

При желании можно развернуть распределение (для каждого LWP выводить список процессоров, на котором тот запускался и количество раз). Можно считать время, проведённое каждым LWP на каждом процессоре. DTrace рулит!

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418412
yallow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо!!!
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418441
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yallowСпасибо!!!

А кто прав-то в этом споре оказался?
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418655
yallow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scott TigerИли вот я сам родил :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#pragma D option quiet

sched:::on-cpu
/pid == $1/
{
        printf("CPU: %3d LWP: %3d\n", cpu, curlwpsinfo->pr_lwpid);
}


dtrace: failed to compile script cpus2.d: line 3: probe description sched:::on-cpu does not match any probes
странно а на моем 1-процовом сработало...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418874
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yallow Scott TigerИли вот я сам родил :)

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
#pragma D option quiet

sched:::on-cpu
/pid == $1/
{
        printf("CPU: %3d LWP: %3d\n", cpu, curlwpsinfo->pr_lwpid);
}


dtrace: failed to compile script cpus2.d: line 3: probe description sched:::on-cpu does not match any probes
странно а на моем 1-процовом сработало...

Забавно. Покажи uname -a
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418895
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
И ещё покажи вывод dtrace -l (будет много, закинь аттачем).

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418901
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ты под рутом запускаешь? А то см. http://docs.sun.com/app/docs/doc/817-6223/chp-sec?a=view

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35418916
Фотография Scott Tiger
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Scott TigerТы под рутом запускаешь? А то см. http://docs.sun.com/app/docs/doc/817-6223/chp-sec?a=view

Есть рыба-пила и есть рыба-молот. Вот только не понятно, что они там строят...

Во, я проверил, по ходу - оно (во всяком случае, воспроизвелась твоя проблема под не-рутом на 120011-14). Тебе нужна привилегия dtrace_kernel, как её выдавать написано по ссылке выше.

Согласен, сообщение об ошибке не слишком информативное...
...
Рейтинг: 0 / 0
Solaris - процессы, потоки, CPU
    #35431147
yallow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо за помощь!!!
Я уже разобрался и все коллеге доказал. =)
...
Рейтинг: 0 / 0
16 сообщений из 16, страница 1 из 1
Форумы / Unix-системы [игнор отключен] [закрыт для гостей] / Solaris - процессы, потоки, CPU
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]