Linux에서 머신의 코어 수를 알려면 어떻게해야합니까?


14

Linux에서 머신의 코어 수를 알려면 어떻게해야합니까? 나는 이것에 대한 테스트가 안드로이드에서도 효과가 있다고 가정한다. 하나 이상의 코어가 활성화되어 있는지 알아야합니다. 프로세스가 많은 스레드를 작성하도록하여이를 테스트하는 것이 궁금합니다. 스레드가 어떤 프로세서에 있는지 쿼리 할 수 ​​있습니까? 그렇게하면 많은 코어가 과부하 상태에서 사용되는지 알 수 있습니다. 내가 올바른 길을 가고 있는지 확실하지 않습니다.


1
"활성"이란 현재 사용중인 코어 수를 의미한다고 가정합니다. 아니면 시스템에 몇 개의 코어가 있습니까?
Mikel

네, 현재 얼마나 많은 사람들이 사용하고 있는지 말씀 드리고 싶습니다

답변:


19

top각 코어의 사용률을 나열하는 데 사용할 수 있습니다 . 필요한 경우 1을 눌러 CPU 행을 각 코어에 대해 별도의 행으로 분할하십시오.

각 프로세스에 마지막으로 사용한 코어를 표시하는 열을 추가 할 수도 있습니다. f를 눌러 필드 목록을 표시 한 다음 j를 눌러 "P"열을 활성화하십시오. 그런 다음 스페이스 바를 눌러 라이브 뷰로 돌아갑니다.


아마도 많은 스레드를 생성하고 콘솔에서 'top'명령을 실행하는 프로그램을 작성하고 실행해야합니까?
likejudo

나는 그것이 작동해야한다고 생각합니다. top스레드를 별도로 나열 하려면 H를 누르십시오 . 또는 무한 루프로 프로그램을 작성하고 여러 번 실행할 수 있습니다.
Brian

예를 들어 100 스레드를 생성하기 위해 프로그램을 작성합니다. 각 스레드는 길고 집중적 인 계산을 수행합니다. Java (Android)로 작성하면 JVM / KVM이 다른 코어에서 스레드를 실행하고 모든 코어에서 실행한다는 보장이 있습니까?
likejudo

1
잘 모르겠습니다. 실험에서 알아 낸 내용이 아닙니까?
Brian

사용중인 프로세서 코어 수를 제한하는 프로그램을 테스트해야합니다. 좀 더 찾아 볼게요 감사!
likejudo

6

pspsr작업이 실행중인 프로세서를 알려주 는 필드 가 있습니다.

따라서 다음과 같은 것을 사용할 수 있습니다.

ps -e -o psr= | sort | uniq | wc -l

ps물론 이와 같이 실행 하면 적어도 하나의 코어가 활성화됩니다.

아마도 이것을 실행하는 것이 좋습니다.

tmp=/tmp/ps.$$
ps -e -o psr= > /tmp/ps.$$
sort -u "$tmp" | wc -l
rm "$tmp"

끝까지 것을 sort하고 wc수를 증가하지 않습니다.


시스템에 16 개의 코어가 있고 아무도 코어를 사용하지 않으면 어떻게됩니까?

그런 다음 사용되지 않는 0을 인쇄합니다. 나는 그것이 질문이 요구하는 것이라고 생각합니다.
Mikel

질문에 대한 새로운 의견을 보지 못했습니다.

1
물론, 실행함으로써 ps우리는 적어도 1 개의 코어를 활성화합니다. ;-)
Mikel

답변 주셔서 감사합니다. 단점은 둘 이상의 코어가 활성 상태인지 알아야한다는 것입니다. 프로세스가 많은 스레드를 작성하도록하여이를 테스트하는 것이 궁금합니다. 그것은 가능합니다 스레드 가 켜져 프로세서 질의에? 그렇게하면 많은 코어가 과부하 상태에서 사용되는지 알 수 있습니다. 내가 올바른 길을 가고 있는지 확실하지 않습니다.

3
htop

이 명령은 우분투와 센토 모두에서 잘 작동하며 CPU 수와 사용 방법을 그래픽으로 보여줍니다.

centos의 경우 :

yum install htop

우분투의 경우 :

apt-get install htop

2

다음을 시도하십시오 :

cat /proc/cpuinfo

다음 은 Android Java 예제에 대한 링크 입니다.


1
"active"는 Anil이 현재 사용중인 코어 수와 유휴 상태 인 코어 수를 의미한다고 가정합니다. /proc/cpuinfo시스템에 몇 개의 코어가 있는지 알려주며 cat /proc/cpuinfo하이퍼 스레딩을 설명하는 것 이상 을 수행해야 합니다.
Mikel

알았어-확실하지 않지만 네 말이 맞아.
Amir Afghani

0

cat / sys / devices / system / cpu / possible 또는 cat / sys / devices / system / cpu / online을 사용할 수 있습니다. 주로 특정 프로그램을 실행하기 위해 CPU를 분리 한 경우에 가능합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.