2

我正在为内存驱动的大型程序(数十 GB 内存)在 linux 上进行性能分析。

我在想是否可以将 linux/硬件配置为更适合运行此类大型程序。但我对这一面并不熟悉。

任何人都有关于如何配置的观点

  1. 操作系统的内存分配策略
  2. CPU的缓存配置
  3. 别的...

任何评论表示赞赏..

这是典型的 CPU 模型(4 个 Opteron 处理器,每个处理器都有双核):

processor       : 3
vendor_id       : AuthenticAMD
cpu family      : 15
model           : 65
model name      : Dual-Core AMD Opteron(tm) Processor 2218
stepping        : 2
cpu MHz         : 2600.000
cache size      : 1024 KB
physical id     : 1
siblings        : 2
core id         : 1
cpu cores       : 2
fpu             : yes
fpu_exception   : yes
cpuid level     : 1
wp              : yes
flags           : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush mmx fxsr sse sse2 ht syscall nx mmxext fxsr_opt rdtscp lm 3dnowext 3dnow pni cx16 lahf_lm cmp_legacy svm extapic cr8_legacy
bogomips        : 5200.09
TLB size        : 1088 4K pages
clflush size    : 64
cache_alignment : 64
address sizes   : 40 bits physical, 48 bits virtual
power management: ts fid vid ttp tm stc
4

1 回答 1

0

对于研究多插槽系统上的内存/缓存很有用:

  • hwloclstopo示例):

    lstopo
    
  • numactl / libnuma(但仅当它确实是 NUMA 系统时)

    numactl --hardware
    numactl --show
    
  • sysfs, procfs:

    sudo grep . /sys/devices/system/cpu/cpu*/cpufreq/*
    grep . /sys/devices/system/cpu/cpu*/topology/physical_package_id
    sudo grep . /proc/irq/*/smp_affinity # compare w/ /proc/interrupts
    
于 2011-11-02T18:55:43.030 回答