1.1, Андрей (??), 23:05, 19/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Хмм.. А зачем?? Типа каждый день отсылать статистику по кол-ву процов на мыло админа?? Плюс еще график от рисовать :)
Было бы неплохо описать задачу с которой столкнулись и для чего это?? Загрузку процессоров, понятно для чего в автоматическом режиме, но кол-во... Что-то я не догоняю - подскажите??
| |
|
|
3.7, Андрей (??), 04:53, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Далек от этой темы.. Пока далек.. Но кто знает когда потребуется.. Спасибо :)
В любом случае, чтобы избежать подобных глупых вопросов, не помешало бы описание 'проблемы' в начале 'типса' :)
Спасибо еще раз..
| |
|
4.13, Карбофос (ok), 12:45, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
это нужно для параллельного запуска заданий по обработке данных, для полного использования компьютерных ресурсов.
как раз с cppcheck и был приведен пример: запускается несколько параллельных потоков статической проверки исходников
| |
|
|
2.23, Аноним (-), 21:19, 22/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
Например чтобы make пинать с нужным -j. Ну так, самый очевидный вариант :)
| |
|
1.2, Vee Nee (?), 23:11, 19/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Как вариант:
COUNT=$(lscpu -p=cpu | grep -v \# | wc -l)
Не понимаю только, для чего вырезание заголовка строки sed-ом, вариант без него что-то упускает?
COUNT=$(grep 'model name' /proc/cpuinfo | wc -l)
| |
|
2.4, Карбофос (ok), 23:25, 19/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
благодарю за дополнение!
нет, не упускает. видимо, sed еще использовался для того, чтобы выдавать имя процессора, после этого просто ничего не меняли :)
| |
2.11, Andrey Mitrofanov (?), 09:58, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Не понимаю только, для чего вырезание заголовка строки sed-ом, вариант без него что-то упускает?
А wc?!%)
> COUNT=$(grep 'model name' /proc/cpuinfo | wc -l)
egrep -c '^processor' /proc/cpuinfo
| |
|
3.12, Карбофос (ok), 10:35, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
кстати, тоже хорошая идея использовать как можно меньше утилит, мерси за сие!
grep -c '^processor' /proc/cpuinfo
| |
|
2.25, Аноним (-), 10:38, 23/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
как все сложно в ваших линухах, толи дело во фре:
sysctl kern.smp.cpus
| |
|
1.6, pavlinux (ok), 03:49, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Кто больше вариантов определения процов?
#!/bin/sh
# Вот этот самый Юникс-вей фен-шуйный, POSIX IEEE Std 1003.1-2001, все дела...
getconf _NPROCESSORS_ONLN;
# А дальше скриптодрочка.
echo $(('cat /sys/devices/system/cpu/online | cut -d"-" -f2'+1));
dmesg | grep "processors activated" | cut -d" " -f3;
Хардкор мазафака кульхацкер метод
#!/bin/sh
cat >> /tmp/cpus.c << EOF
#include <stdio.h>
#include <unistd.h>
int main(void) {
printf("%ld\n", sysconf(_SC_NPROCESSORS_ONLN));
return 0;
}
EOF
gcc /tmp/cpus.c -o /tmp/cpus;
export CPU=$(/tmp/cpus)
| |
|
2.8, pavlinux (ok), 05:04, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
#!/bin/sh
sed -ne '/processor/p;' /proc/cpuinfo | wc -l;
awk '/processor/{x++}; END {print x}' /proc/cpuinfo;
| |
2.10, Карбофос (ok), 07:10, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
с комуляцией - вообще жесть.
спасибо за варианты :)
слушай, а он разве в /proc/cpuinfo как раз не показывает только активированные процы?
| |
|
|
|
5.22, pavlinux (ok), 04:05, 22/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
# getconf _NPROCESSORS_ONLN;
как раз делает вот это
# echo $(('cat /sys/devices/system/cpu/online | cut -d"-" -f2'+1));
только тебе не видно :)
$ strace -e open getconf _NPROCESSORS_ONLN 2>&1 | grep sys
open("/sys/devices/system/cpu/online", O_RDONLY|O_CLOEXEC) = 3
| |
|
|
|
|
1.14, Анонимуз (?), 15:24, 20/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
Процов? Насколько я заметил, тут речь идет исключительно о количестве ядер.
Ну, я понимаю, что обычно не количество сокетов интересует, а именно ядра, но почему бы так и не написать сразу?
| |
|
2.15, Карбофос (ok), 15:41, 20/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
это принципиально что-то меняет?
для меня лично ядро=процессор. точка.
можно, конечно, вступить в бессмысленный диспут, в том числе и затронуть HT.
| |
|
3.16, Анонимуз (?), 16:37, 20/08/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
Для большинства людей операционная система = винда, а название статьи не соответствует содержимому.
Не-не, спорить тут не о чем, все хорошо.
| |
|
4.30, Michael Shigorin (ok), 17:39, 24/08/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> Для большинства людей операционная система = винда
Большинство людей таких слов-то не знают, из наблюдений...
| |
|
5.38, Аноним (-), 19:05, 27/10/2012 [^] [^^] [^^^] [ответить]
| +/– |
>> Для большинства людей операционная система = винда
> Большинство людей таких слов-то не знают, из наблюдений...
А должны были?
| |
|
|
|
|
|
|
5.33, pavlinux (ok), 05:18, 26/08/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> И сколько сантиметров у тебя регистр?
strlen("sizeof(register);");
| |
|
|
|
|
|
|
3.27, Michael Shigorin (ok), 02:55, 24/08/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> если шапка жмёт - дополни
Вообще в первом же Вашем примере наблюдается избыточное применение cat(1), да и остального:
echo "CPU cores available: 'grep -c ^processor /proc/cpuinfo'"
А для адаптивного параллельного выполнения лучше сразу смотреть на parallel(1) или paexec(1).
| |
|
4.31, Карбофос (ok), 18:04, 24/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
>echo "CPU cores available: 'grep -c ^processor /proc/cpuinfo'"
наблюдается избыточность и ненужность такой строки вообще. а мне нужно было значение переменной.
| |
|
|
|
1.26, DelGod (?), 20:56, 23/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +1 +/– |
Количество физических процессоров
grep 'physical id' /proc/cpuinfo | sort -u | wc -l
Количиство Ядер в каждом из процесоров
grep 'core id' /proc/cpuinfo | sort -u | wc -l
| |
|
2.34, pavlinux (ok), 05:41, 26/08/2012 [^] [^^] [^^^] [ответить]
| +/– |
> Количество физических процессоров
> grep 'physical id' /proc/cpuinfo | sort -u | wc -l
Да не, жирно слишком - и grep, и sort, и wc...
$ getconf _NPROCESSORS_ONLN;
> Количиство Ядер в каждом из процесоров
> grep 'core id' /proc/cpuinfo | sort -u | wc -l
12
4
8
А че, на моем кластере и 4-х ядерные есть и 8-ми и 12... :)
| |
|
1.28, zumm (?), 17:32, 24/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
гыгы
#!/bin/sh
cat >> /tmp/cpus.f90 << EOF
program cpus_num
use omp_lib
write (*,*) omp_get_num_procs()
end program cpus_num
EOF
gfortran /tmp/cpus.f90 -fopenmp -o /tmp/cpus;
/tmp/cpus
| |
|
2.29, Michael Shigorin (ok), 17:38, 24/08/2012 [^] [^^] [^^^] [ответить]
| –1 +/– |
> -fopenmp
Этак недалеко до "поставить оракл и сделать запрос". :)
(напомнило анекдот про выяснение чётности числа различными программистами)
| |
|
3.35, pavlinux (ok), 05:54, 26/08/2012 [^] [^^] [^^^] [ответить]
| +1 +/– |
> (напомнило анекдот про выяснение чётности числа различными программистами)
Как-то лет 12-13 назад, мерились в фидо, в RU.LINUX, кто-сколько,
придумает способов замены команды ls
| |
|
4.37, Crazy Alex (ok), 11:47, 06/09/2012 [^] [^^] [^^^] [ответить]
| +/– |
Мне, кстати, такие извращения когда-то пригодились - надо было разобраться с железкой, в которой было что-то адски ограниченное в роли шелла - в частности, ls не было. Обходился "echo *" и подобными.
| |
|
|
|
1.36, ананим (?), 00:14, 29/08/2012 [ответить] [﹢﹢﹢] [ · · · ]
| +/– |
ну тады и от меня добавь:
1)
$ cat /sys/devices/system/cpu/online
0-7
$ cat /sys/devices/system/cpu/offline
$ cat /sys/devices/system/cpu/possible
0-7
$ cat /sys/devices/system/cpu/present
0-7
2)
# dmidecode -t processor|grep Thread
Thread Count: 8
# dmidecode -t processor|grep Core
Family: Core i7
Version: Intel(R) Core(TM) i7-3610QM CPU @ 2.30GHz
Core Count: 4
Core Enabled: 4
| |
|