2009-08-23 10:15:31 dahuil1986 阅读数 42
[size=large][color=darkred][b]查看linux 内核数目的命令[/b][/color][/size]

:[quote]~$ cat /proc/cpuinfo[/quote]

[quote]
processor : 0
vendor_id : GenuineIntel
cpu family : 15
model : 4
model name : Intel(R) Xeon(TM) CPU 3.00GHz
stepping : 3
cpu MHz : 2992.249
cache size : 2048 KB
physical id : 0
siblings : 2
core id : 0
cpu cores : 1
apicid : 0
initial apicid : 0
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 5
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc peb s bts pni dtes64 monitor ds_cpl cid cx16 xtpr
bogomips : 5984.49
clflush size : 64
power management:
[/quote]


其中cpu_cores就是cpu的内核数
2012-10-12 12:27:42 dragon101788 阅读数 613


可在任意位置实现函数
 asmlinkage long sys_函数名(参数)
 {
 }

 or
 
 #include <linux/syscalls.h>
 SYSCALL_DEFINEx(函数名, type1, name1, type2, name2, ...)
     x 表示参数个数, 函数名前面会自动加上sys_
 {
 }


linux/arch/arm/kernel/call.S
 CALL(sys_函数名) 加在所有CALL的后面, 系统调用号为前面的调用号加1

 

linux/arch/arm/include/asm/unistd.h
 不是必须的, 主要提供给应用层使用, make headers_install会将头文件安装在linux/usr/下
 #define __NR_函数名 (__NR_SYSCALL_BASE+系统调用号)


 

2016-06-21 11:19:34 keke_Xin 阅读数 29
[plain] view plain copy
 
  1. hadoop@chw-desktop3:~$ cat /proc/cpuinfo  
  2. processor   : 0  
  3. vendor_id   : GenuineIntel  
  4. cpu family  : 15  
  5. model       : 2  
  6. model name  : Intel(R) Pentium(R) 4 CPU 3.00GHz  
  7. stepping    : 9  
  8. microcode   : 0x17  
  9. cpu MHz     : 2992.615  
  10. cache size  : 512 KB  
  11. physical id : 0  
  12. siblings    : 2  
  13. core id     : 0  
  14. cpu cores   : 1  
  15. apicid      : 0  
  16. initial apicid  : 0  
  17. fdiv_bug    : no  
  18. hlt_bug     : no  
  19. f00f_bug    : no  
  20. coma_bug    : no  
  21. fpu     : yes  
  22. fpu_exception   : yes  
  23. cpuid level : 2  
  24. wp      : yes  
  25. flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr  
  26. bogomips    : 5985.23  
  27. clflush size    : 64  
  28. cache_alignment : 128  
  29. address sizes   : 36 bits physical, 32 bits virtual  
  30. power management:  
  31.   
  32. processor   : 1  
  33. vendor_id   : GenuineIntel  
  34. cpu family  : 15  
  35. model       : 2  
  36. model name  : Intel(R) Pentium(R) 4 CPU 3.00GHz  
  37. stepping    : 9  
  38. microcode   : 0x17  
  39. cpu MHz     : 2992.615  
  40. cache size  : 512 KB  
  41. physical id : 0  
  42. siblings    : 2  
  43. core id     : 0  
  44. cpu cores   : 1  
  45. apicid      : 1  
  46. initial apicid  : 1  
  47. fdiv_bug    : no  
  48. hlt_bug     : no  
  49. f00f_bug    : no  
  50. coma_bug    : no  
  51. fpu     : yes  
  52. fpu_exception   : yes  
  53. cpuid level : 2  
  54. wp      : yes  
  55. flags       : fpu vme de pse tsc msr pae mce cx8 apic mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe pebs bts cid xtpr  
  56. bogomips    : 5990.44  
  57. clflush size    : 64  
  58. cache_alignment : 128  
  59. address sizes   : 36 bits physical, 32 bits virtual  
  60. power management:  

 

输入命令cat /proc/cpuinfo 查看physical id有几个,上述结果显示只有0,所以只有一个物理cpu;查看processor有几个,上述结果显示有0和1两个,所以有两个逻辑cpu。


(一)概念
① 物理CPU
实际Server中插槽上的CPU个数
物理cpu数量,可以数不重复的 physical id 有几个
② 逻辑CPU 
 /proc/cpuinfo 用来存储cpu硬件信息的
信息内容分别列出了processor 0 –processor n 的规格。这里需要注意,n是逻辑cpu数
一般情况,我们认为一颗cpu可以有多核,加上intel的超线程技术(HT), 可以在逻辑上再分一倍数量的cpu core出来
逻辑CPU数量=物理cpu数量 x cpu cores 这个规格值 x 2(如果支持并开启ht)    
备注一下:Linux下top查看的CPU也是逻辑CPU个数
 ③ CPU核数
一块CPU上面能处理数据的芯片组的数量、比如现在的i5 760,是双核心四线程的CPU、而 i5 2250 是四核心四线程的CPU
一般来说,物理CPU个数×每颗核数就应该等于逻辑CPU的个数,如果不相等的话,则表示服务器的CPU支持超线程技术 
㈡ 查看CPU信息
当我们 cat /proc/cpuinfo 时、
具有相同core id的CPU是同一个core的超线程
具有相同physical id的CPU是同一个CPU封装的线程或核心
㈢ 下面举例说明
① 查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l  
2  
② 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc -l  
24  
③ 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq  
6   
我这里应该是2个Cpu,每个Cpu有6个core,应该是Intel的U,支持超线程,所以显示24 

2007-01-12 11:08:00 luhongboboy 阅读数 603
linux里面的程序,或者很多命令,都可以有很多的参数,比如ll,好像可以有无数个参数,但是,实际上是有限制的,当一个文件夹里面的文件个数太多,像
cp dir/* /dir2/ 这样的命令就不能执行了,错误处在cp参数太多。这个限制是在什么地方呢?
看linux内核源代码时,终于解决了这个疑惑。

原来,linux里面在执行execve系统调用的时候,用到这么一个结构,
struct linux_binprm{
char buf[BINPRM_BUF_SIZE];
struct page *page[MAX_ARG_PAGES];
unsigned long p; /* current top of mem */
int sh_bang;
struct file * file;
int e_uid, e_gid;
kernel_cap_t cap_inheritable, cap_permitted, cap_effective;
int argc, envc;
char * filename; /* Name of binary */
unsigned long loader, exec;
};
这个结构用来描述一个要执行的程序的所有的信息。其中,这个要执行的程序的文件名、输入参数argv[]和envp[]就存储在struct page *page[MAX_ARG_PAGES];里面,其中,MAX_ARG_PAGES是32。而一般envp[]的不会很大。所以,argv[]里面所有的字符串的长度加起来不能超过32个页面。也就是32×2^12B

 
2009-03-24 11:45:18 crazystone12345 阅读数 9

linux下查看cpu和内核的个数
linux下查看cpu的个数及内核信息

[root@qhtlnx28 ~]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 0
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3194.02

processor : 1
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 1
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3191.88

processor : 2
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 2
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3191.96

processor : 3
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 0
siblings : 4
core id : 3
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3191.93

processor : 4
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 1
siblings : 4
core id : 4
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3191.99

processor : 5
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 1
siblings : 4
core id : 5
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3191.90

processor : 6
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 1
siblings : 4
core id : 6
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3191.96

processor : 7
vendor_id : GenuineIntel
cpu family : 6
model : 15
model name : Intel(R) Xeon(R) CPU E5310 @ 1.60GHz
stepping : 11
cpu MHz : 1595.974
cache size : 4096 KB
physical id : 1
siblings : 4
core id : 7
cpu cores : 4
fdiv_bug : no
hlt_bug : no
f00f_bug : no
coma_bug : no
fpu : yes
fpu_exception : yes
cpuid level : 10
wp : yes
flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm pni monitor ds_cpl tm2 xtpr
bogomips : 3192.00

以上就是我的cpu的信息
哈哈 ,这里说明一下, 这是IBM 3550的cpu信息。
通过上面信息我们可以知道,有8个核。从processor  0   到processor   7可以看出来。
有两个cpu,从



physical id : 0



physical id : 1

可以看出有两个cpu。

cpu cores : 4

可以看出每个cpu有四个内核

:/proc/cpuinfo

  linux 下

  /proc/cpuinfo

  文件会显示cpu的信息

  processor 会从0开始记数 继续下去多个cpu

  flags 如果有 ht 说明支持超线程技术

  判断物理CPU的个数可以查看physical :/proc/cpuinfo

  linux 下

  /proc/cpuinfo

  文件会显示cpu的信息

  processor 会从0开始记数 继续下去多个cpu

  flags 如果有 ht 说明支持超线程技术

  判断物理CPU的个数可以查看physical id 的值,相同则为同一个物理 CPU

id 的值,相同则为同一个物理 CPU

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/12035968/viewspace-578116/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/12035968/viewspace-578116/

linux 内核时钟驱动

阅读数 1636

Linux内核

阅读数 22

linux 内核经验

阅读数 170

没有更多推荐了,返回首页