General :: Will Proc / Cpuinfo Gives CPU Info Per Core Or Per Thread?
Jul 18, 2011
My CPU has 2 cores, so I can see two parts in /proc/cpuinfo.But, I want to know if CPUs that support Hyper-Threading (or similar tech), will /proc/cpuinfo give CPU info per core or per thread (or call it sibling)?I only know that Windows Task Manager will give CPU usage statistics per thread if the CPU supports HT.
There is a computer with two "Xeon(R) CPU X5550 @ 2.67GHz" CPU. The Hyper-threading is enabled, so it looks like 16-core system, but really there is only 8 physical cores.
I know that when hyperthreading is enabled, each physical core is splitted into two virtual cores. I want to know, which pair of virtual cores shares a physical core and which are not. Or, how (in what order) will Linux enumerate HT-cores comparing to real cores. (enumerating is done for sched_setaffinity and taskset masks).
I have a dump of /proc/cpuinfo file from the system.
I think there are possible:
CPU0-CPU7 are not sharing phys. core. CPU8-CPU15 too. But sharing is in pairs CPU0+CPU8, CPU(i)+CPU(i+8) and so on. or CPU0+CPU1 are from single physical, CPU2+CPU3, CPU(2*i)+CPU(2*i+1). or exotic CPU0+CPU15 sharing, CPU1+CPU14 ... or random?
The hard moment in this case is that there are 2 physical dies of CPU (two sockets), and usual recommendation of using "physical id:" field can't help
The cpuinfo:
processor : 0 vendor_id : GenuineIntel cpu family : 6 model : 26 model name : Intel(R) Xeon(R) CPU X5550 @ 2.67GHz
I recently built a new computer. For CPU, I am using AMD Athlon II X2 @ 2.8GHz... However, when I do cat /proc/cpuinfo, I get the following:
processor : 0 vendor_id : AuthenticAMD cpu family : 16 model : 6 model name : AMD Athlon(tm) II X2 240 Processor stepping : 2 cpu MHz : 800.000 cache size : 1024 KB
and same thing for processor: 1 Notice that for cpu MHz, it says 800.000. However, that is not correct... Shouldn't it say 2800? Is this a bug? Am I looking at this wrong?
Is there a simple way to determine the CPU socket from the output of /proc/cpuinfo. Determining the type of processor is simple enough, but the processor I have (Celeron) has two different possible sockets. The output of /proc/cpuinfo is:
processor : 0 vendor_id : GenuineIntel cpu family : 15
[Code]...
I've looked on the Intel processor finder web site with appropriate filters, but the stepping values do not appear to match anything.
I have fedora 14 installed and wish to use/learn kvm. I installed via groupinstall the virtualization group. I see vmx in /proc/cpuinfo. but when I start virt-manager I get a message that kvm is not installed or cannot be leaded into the kernel (to make a long message short). I am at a loss here as to what to do. I run cat /proc/modules and see "kvm 257420 0 - Live 0xffffffffa022a000". also after running modprobe kvm I run [root@fed14 ~]# lsmod | grep -i kvmkvm 257420 0 and see kvm there.
I'm trying to retrieve a single string or value from /proc/cpuinfo, but when I try to extract the model (not the model name) the model name comes with it, also it likes to print it twice...
I am developing an application whose executable is generated inside a certain folder hierarchy (say: /DevPath/MyProject/bin). My source code is located in a different branch of this hierarchy (say: /DevPath/MyProject/src). When my app crashes, its core files are stored in /DevPath/MyProject. I'm developing the app on a pc, but running it on a separate platform in which i can only execute it. Folder hierarchy is the same as above on both computers. Usually, when a new executable version is ready, we update both the executable and the source code on the target platform, transferring all the new /DevPath/MyProject folder on it. But sometimes it can really be a bother, so we update only the executable.
1)In the case we only update the executable, keeping an old source code version, and the app generates a core file, can i trust the backtrace produced by gdb in this case? I.e., does gdb need the latest source code files or it just needs the debugging information?
2) (More radical question ) Do i really need to keep the source code on the target platform for core dump analysis or i just need the executable?
I've got the F13 LiveCD that I was able to boot and use using the "nomodeset" boot option. From the desktop I'm trying to perform an Install to Hard Drive. I've read the Install from LiveCD post regarding the creation of a /boot partition and a / root partition. I've tried creating them without the LVM group and with. But every time I appempt to install I get...
An error occurred mounting device proc as /proc: mount failed: (9, None). This is a fatal error and the install cannot continue.
Hardware is a Sager 8887 (P4, 3.06HT, 60GB HDD, Radeon 9000 graphics adapter)
I am going to use "pthread_setaffinity_np" to bind a thread to a specific core. My application has two threads. I have used mutex to assign a specific id to each thread and then bind that thread to a core different from another core. but it seems that the os assigns both thread to one core.What should I do to bind each thread to a specific core?
I recently read in a forum that by default the Linux kernel only activates one of two cores in a dual core processor. Searching online gave one option to find out and that was the mpstat command. I therefore ran the command and got the following output.As the result says, it shows only 1 cpu. I was wondering what I could do to activate both cores in my machine, and whether doing so was going to cause me any problems.
I've a program that launches new processes, and wait for them to die before it exits. So, for example, my program is a process, and it launches 3 more processes, and when the 3 child processes end, it will exit.
As you see, at end of the example, the program used a total number of 4 processes.
1 - Now, I'm running this program in a CPU with 4 cores. This means that the program used each core for each process?
so i cannot install anything because update-info-dir file is missing from /var/lib/dpkg/info/ .. I've searched for the last day and a half for a way to fix this, but nothing. can't even update dpkg because of this. so how do I bypass or fix this so I can install stuff (this is a fresh install of ubuntu 10.04 lts Lucid Lynx).
the difference between /proc and /sys? Also, When enabling public-key authentication using SSH, what file on the remote machine must be modified and how?
today i install centos x86_64 in my server, but /proc/cpuinfo display 2000Mhz . My processor model name : Intel(R) Core(TM)2 Quad CPU Q9550 @ 2.83GHz, before the server had centos i386 and display 2800Mhz.
Red Hat Enterprise Linux Server release 5.4 (Tikanga) 2.6.18-164.11.1.el5xen (Xen release for virtualisation)
I'm trying to track down a problem with a utility that used to work and now hangs indefinitely. Since its hanging, I suspected a locking problem, and went to have a look for the process ids in /proc/locks; I get:
Now as near as I can tell this shouldn't be my problem, since the two ADVISORY locks - one READ and one WRITE - shouldn't conflict with one another. But I'd like to understand it all the same. I haven't been able to find any kind of definitive guide for the format of /proc/locks entries, but what I did find in the manuals specifically states:
"Each lock has its own line which starts with a unique number. "
Which is obviously not true; both of my lines start with the same number. Also, since most search engines don't seem to play nicely with symbols, I can't find any reference to what the "->" means.
I am currently writing a JAVA script to monitor certain unix processes through JConsole. Upon having lots of trouble with runtime.exec, i decided to bypass the top/ps command call and just get the information straight from /proc/*pid*/whatever.Now i can pull back any information from any of the files I want, and the current way i determine the CPU usage of a process is as follows:
Add the UTime and STime of that process from /proc/pid/stat then divide my pidCpu by UTime + STime + NTime from /proc/stat, then multiply that by 100, should give me the % cpu usage a process is using, right?Theory being if I get the jiffies assigned to my process, I can divide that by the total jiffies the cpu assigns. However, my results seem to vary from the ones gathered from top and ps. What am I doing wrong?
I wrote a code .sh I want to make it a runnable thread. Q1: How can I do that in Ununtu?
Q2: I put that file (x.sh) in the "Auto start" program.I choose start at "start up" but it open the code editor page.I want it to be run behind backgroun...Have I convert it to .exe firstly ?!
i am running gigabyte GA-M68M-S2P and AMD sempron 2.7. the problem is when i try to run dual core. it will boot and run for 2mins then it crashes. single core runs perfect.
/proc/bus/usb/devices should not be used anymore (and can't be mounted anymore on Ubuntu 11.04) But what is an alternative to it, for use in a terminal? I could easily grep that output to look for a certain device, but I'm lost in all the /sys/ entries...
i had some issue with the machine rebooting multiple times, What happens is that the machine boots up and suddenly crashes and then boots up cleanly. I was going through the log files during when this occurs. I came across /var/log/syslog which i guess logs messages before shutdown. It has following messages which i think are causing problem.
Could not open /proc/26694/stat: No such file or directory Could not read the file /proc/26694/stat Could not open /proc/31128/stat: No such file or directory Could not read the file /proc/31128/stat
I'm working in CentOS 5.4 with the default 2.6.18-164 kernel (which I will be editing but have reverted back to in order to solve this problem.)
Near the end of the init script I have thrown a /bin/sh to get into a busybox bash shell in order to test some scripts. Ive attached the init below.
While in this shell I can see my usb drive in /proc/bus/usb/devices and my hard drive in /proc/scsi/device_info however I cannot mount them as they are not in /dev.
I have scsi emulation set in the kernel. When I plug in a USB stick it finds the address but still no sign of it in /dev. There are other modules listed in /sys/module such as usbcore that dont show up in lsmod, is that possibly the problem?
Init Script
Quote:
#!/bin/nash mount -t proc /proc /proc setquiet echo Mounting proc filesystem echo Mounting sysfs filesystem mount -t sysfs /sys /sys