linux主频
‘壹’ 解决笔记本在linux下插电源降频的问题
笔记本的处理器频率,若使用电池,则可对最高频率做适当限制,以达到省旁蔽电目的;若插入移动电源,则可以解除限制,让处理器能够在其最高频率上运行,以提高性能——这是最基本的电源管理策略。
然而,我的ThinkPad X200却不走寻常路,故意和我对着干。X200搭载Intel Core 2 Duo P8600 双核处理器,设计最高主频为2.40GHz。在使用“performance”调控器(governor),并尽可能将调控器最高频率设为最大值的情况下:
这也太奇怪了吧,笔记本居然会在插电时降频!尽管插电后电量多到用不完,毫无费电之虞,笔记本却仍然认为应该省电;而使用电池时,笔记本却根本洞樱不管这些,允许CPU达到最大频率。什么逻辑!
起初,我以为是BIOS中的节能控制设置不当。有一个设置是Intel SpeedStep Technology,这是英特尔的处理器电源管理功能。我尝试将其中针对AC适配器和电池的策略设置为相同的值,结果重启后问题如故;而关闭该功能后,Linux管理CPU频率的 acpi-cpufreq 驱动直接失效,不可行。后来,我又尝试将PCI和PCI-E的省电功能关闭,问题同样如故。
看来,不能靠更改BIOS设置来解决插电降频的问题,只能从系统层面入手了。会不会跟内核有关?对此,我尝试了不同的内核版本,以及使用OpenSUSE安装盘的Shell进行测试,运行以下命令设置调节器为 performance ,读取调控器最大频率(须在Root用户下测试):
结果,插电后仍然降频。由此可排除内核版本和操作系统的问题。
那么,问题到底出在哪里呢?
在Linux中,控制处理器频率的目录是 /sys/devices/system/cpu/cpu*/cpufreq (星号为处理器核心编号),其中包含一系列节点,用于读取或设置处纳启丛理器频率的参数。主要包括:
注意其中的 bios_limit ,它反映的是BIOS所提供的频率限制值。在本文开头的条件下,使用电池时,其中的值为2400000,而插上电源后该值立刻降到1600000。由此不难得知,是BIOS在限制CPU的频率,X200的BIOS对处理器频率的调控策略简直是弱智!
那么,有什么办法可以打破限制?的确是可以的,Linux系统可以忽略 bios_limit 中BIOS所提供的不合理限制值,让用户可以自由设置理想的频率,使处理器性能的发挥重回正轨。
具体的做法是,调节内核当中的一个参数—— ignore_ppc ,将其值设为1,表示忽略BIOS频率限制:
设置即时生效。这时再插入电源适配器,即可发现频率再也不会被限制在1.6GHz下了。
若要使该设置在每次重启后都能自动应用,可以更改启动配置文件 /etc/default/grub 。在root权限下打开它,找到 GRUB_CMDLINE_LINUX_DEFAULT ,将 processor.ignore_ppc=1 加在值的后面,就像这样:
最后运行
更新启动参数,重启即可生效。
到此,插电降频问题彻底解决,终于可以愉快地享用了!
‘贰’ Linux系统下查看服务器硬件信息
系统
# uname -a # 查看内核/操作系统/CPU信息
# head -n 1 /etc/issue # 查看 操作系统 版本
# cat /proc/cpuinfo # 查看CPU信息
# hostname # 查看计算机名
# lspci -tv # 列出所有PCI设备
# lsusb -tv # 列出所有USB设备
# lsmod # 列出加载的内核模块
# env # 查看环境变量
资源
# free -m # 查看内存使用量和交换区使用量
# df -h # 查看各分区使用情况
# -sh <目录名> # 查看指定目录的大小
# grep MemTotal /proc/meminfo # 查看内存总量
# grep MemFree /proc/meminfo # 查看空闲内存量
# uptime # 查看系统运行时间、用户数、负载
# cat /proc/loadavg # 查看系统负载
磁盘和分区
# mount | column -t # 查看挂接的分区状态
# fdisk -l # 查看所有分区
# swapon -s # 查看所有交换分区
# hdparm -i /dev/hda # 查看磁盘参数(仅适用于IDE设备)
# dmesg | grep IDE # 查看启动时IDE设备检测状况
网络
# ifconfig # 查看所有网络接口的属性
# iptables -L # 查看防火墙设置
# route -n # 查看路由表
# netstat -lntp # 查看所有监听端口
# netstat -antp # 查看所有已经建立的连接
# netstat -s # 查看网络统计信息
进程
# ps -ef # 查看所有进程
# top # 实时显示进程状态
用户
# w # 查看活动用户
# id <用户名> # 查看指定用户信息
# last # 查看用户登录 日志
# cut -d: -f1 /etc/passwd # 查看系统所有用户
# cut -d: -f1 /etc/group # 查看系统所有组
# crontab -l # 查看当前用户的计划任务
服务
# chkconfig --list # 列出所有系统服务
# chkconfig --list | grep on # 列出所有启动的系统服务
程序
# rpm -qa # 查看所有安装的软件包
查看网卡型号
[[email protected]]# lspci | grep Ethernet
00:19.0 Ethernet controller: Intel Corporation 82567V-2 Gigabit Network Connection
查看内存和cpu最直接最常用的命令:
[[email protected]]# free
total used free shared buffers cached
Mem: 3069504 528876 2540628 0 76648 396152
-/+ buffers/cache: 56076 3013428
Swap: 5124692 0 5124692
[[email protected]]# cat /proc/cpuinfo
processor : 0
vendor_id : GenuineIntel
cpu family : 6
model : 23
model name : Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
stepping : 10
cpu MHz : 1596.000
cache size : 2048 KB
查看硬盘信息(查看硬盘型号和硬盘序列号):
[[email protected]]# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda5 2.0G 272M 1.6G 15% /
/dev/sda8 199G 188M 189G 1% /home
/dev/sda3 9.7G 1.3G 7.9G 15% /usr
/dev/sda2 9.7G 198M 9.0G 3% /var
/dev/sda1 99M 17M 77M 18% /boot
方法1:
[[email protected]]# hdparm -i /dev/sda
/dev/sda:
Model=SAMSUNG HE253GJ , FwRev=1AJ30001, SerialNo= S2B5J90ZC12060
Config={ Fixed }
RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=4
BuffType=unknown, BuffSize=16384kB, MaxMultSect=16, MultSect=?16?
CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=268435455
IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}
PIO modes: pio0 pio1 pio2 pio3 pio4
DMA modes: mdma0 mdma1 mdma2
UDMA modes: udma0 udma1 udma2
AdvancedPM=yes: disabled (255) WriteCache=enabled
Drive conforms to: unknown: ATA/ATAPI-0 ATA/ATAPI-1 ATA/ATAPI-2 ATA/ATAPI-3 ATA/ATAPI-4 ATA/ATAPI-5 ATA/ATAPI-6 ATA/ATAPI-7
* signifies the current active mode
方法2:
[[email protected]]# dmesg | grep ATA
ata1: SATA max UDMA/133 cmd 0xf190 ctl 0xf180 bmdma 0xf150 irq 185
ata2: SATA max UDMA/133 cmd 0xf170 ctl 0xf160 bmdma 0xf158 irq 185
ata1: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
ata1.00: ATA-8: SAMSUNG HE253GJ, 1AJ30001, max UDMA/133
ata2: SATA link down (SStatus 0 SControl 300)
Vendor: ATA Model: SAMSUNG HE253GJ Rev: 1AJ3
ata3: SATA max UDMA/133 cmd 0xf130 ctl 0xf120 bmdma 0xf0f0 irq 185
ata4: SATA max UDMA/133 cmd 0xf110 ctl 0xf100 bmdma 0xf0f8 irq 185
ata3: SATA link down (SStatus 0 SControl 300)
ata4: SATA link down (SStatus 0 SControl 300)
ata5: PATA max UDMA/100 cmd 0xe040 ctl 0xe030 bmdma 0xe000 irq 177
[[email protected]]# dmidecode|more
# dmidecode 2.10
SMBIOS 2.4 present.
57 structures occupying 2318 bytes.
Table at 0x000E84B0.
Handle 0x0000, DMI type 0, 24 bytes
BIOS Information
Vendor: Intel Corp.
Version: GTG4310H.86A.0019.2009.0625.1334
Release Date: 06/25/2009
.....
System Information 服务器品牌
Manufacturer:
Proct Name: (没有信息表示非品牌或未识别)
Version:
Serial Number:
UUID: 889BD67E-8D96-11DE-AC40-0013D4D9C9E8
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0002, DMI type 2, 15 bytes
Base Board Information 主板型号/主板信息
Manufacturer: Intel Corporation
Proct Name: DG43GT
Version: AAE62768-300
Serial Number: BTGT9340022N
Processor Information CPU信息/CPU型号/CPU主频
Socket Designation: PROCESSOR
Type: Central Processor
Family: Pentium D
Manufacturer: Intel(R) Corp.
ID: 7A 06 01 00 FF FB EB BF
Signature: Type 0, Family 6, Model 23, Stepping 10
Version: Pentium(R) Dual-Core CPU E6500 @ 2.93GHz
Voltage: 1.2 V
External Clock: 266 MHz
Max Speed: 4000 MHz
Current Speed: 2931 MHz
Status: Populated, Enabled
Upgrade: Socket LGA775
Cache Information 硬件和CPU缓存情况
Socket Designation: L1-Cache
Configuration: Enabled, Not Socketed, Level 1
Operational Mode: Write Back
Location: Internal
Installed Size: 32 kB
Maximum Size: 32 kB
BIOS Language Information BIOS语言
Installable Languages: 1
en|US|iso8859-1
Currently Installed Language: en|US|iso8859-1
Physical Memory Array 主板最大支持内存
Location: System Board Or Motherboard
Use: System Memory
Error Correction Type: None
Maximum Capacity: 16 GB
Error Information Handle: Not Provided
Number Of Devices: 4
Handle 0x002C, DMI type 19, 15 bytes
Memory Array Mapped Address 目前的内存
Starting Address: 0x00000000000
Ending Address: 0x000FFFFFFFF
Range Size: 4 GB
Physical Array Handle: 0x002B
Partition Width: 0
On Board Device Information 显卡型号
Type: Video
Status: Enabled
Description: Intelr GMA X4500 Video Device
如何确定品牌服务器,不受到忽悠(某日我们买了一台dell品牌服务器,如何确定没有被忽悠呢?):
[[email protected]]# dmidecode|more (如果能看到dell的型号,就可以肯定没错了)
Handle 0x0100, DMI type 1, 27 bytes
System Information
Manufacturer: Dell Inc.
Proct Name: PowerEdge T110
Version: Not Specified
Serial Number: J47RBP1
UUID: 4C4C4544-0034-3710-8052-CAC04F425031
Wake-up Type: Power Switch
SKU Number: Not Specified
Family: Not Specified
Handle 0x0200, DMI type 2, 9 bytes
Base Board Information
Manufacturer: Dell Inc.
Proct Name: 0V52N7
Version: A02
Serial Number: ..CN708210CD0166.
Asset Tag: Not Specified
Handle 0x0300, DMI type 3, 21 bytes
Chassis Information
Manufacturer: Dell Inc.
Type: Main Server Chassis
Lock: Present
Version: Not Specified
Serial Number: J47RBP1
‘叁’ linux 多核心cpu主频怎么计算
2.27是标称的频率,cpu
MHz:
2266.832才是当前频率,核心数量跟频率没有直接关系哈,举个例子来说,你买了1辆车,它有16
个气缸,它们每个气缸单独工作都能让车跑227KM/h,你能说把它们的速度加起来,你的车能跑16*227KH/h吗?
‘肆’ 怎么修改linux 内核主频 csdn
修改/etc/sysctl.conf,亮亩可参考如下参数:
net.ipv4.ip_local_port_range=102465000
net.core.rmem_max=16777216
net.core.wmem_max=16777216
net.ipv4.tcp_rmem=40968738016777216
net.ipv4.tcp_wmem=40966553616777216
net.ipv4.tcp_fin_timeout=10
net.ipv4.tcp_tw_recycle=1
net.ipv4.tcp_timestamps=0
net.ipv4.tcp_window_scaling=0
net.ipv4.tcp_sack=0
net.core.netdev_max_backlog=50000
net.ipv4.tcp_no_metrics_save=1
net.core.somaxconn=262144
net.ipv4.tcp_syncookies=0
net.ipv4.tcp_max_orphans=敬辩森262144
net.ipv4.tcp_max_syn_backlog=262144
net.ipv4.tcp_synack_retries=灶如2
net.ipv4.tcp_syn_retries=2
#net.ipv4.ip_conntrack_max=10240
‘伍’ linux服务器cpu性能参数如何看
processor : 44 (44个线程)
vendor_id : AuthenticAMD (amd 这个不用多说吧)
cpu family : 21 (cpu 家族)
model : 1 (运行模式 1 )
model name : AMD Opteron(TM) Processor 6234 (模式名称)
stepping : 2 (cpu时钟间隔)
cpu MHz : 2400.127 (主频)
cache size : 2048 KB (缓存大小 2M)
physical id : 0 (物理ID号)
siblings : 12 (12位)
core id : 5 (核心ID号)
cpu cores : 6 (核心数:6核)
apicid : 43
initial apicid : 11
fpu : yes
fpu_exception : yes
cpuid level : 13
wp : yes
‘陆’ linux中如何查看系统的cpu
方法/步骤
linux的cpu信息可以从文件中cpuinfo读取。
执行命令:
# cat /proc/cpuinfo
‘柒’ AIX、Linux查看CPU及内存参数
一、AIX操作系统
1. 查询CPU信息
AIX的硬件信息可以通过prtconf命令看到。
1. 1 查看逻辑CPU个数
#pmcycles -m
CPU 0 runs at 4204 MHz
CPU 1 runs at 4204 MHz
CPU 2 runs at 4204 MHz
CPU 3 runs at 4204 MHz
CPU 4 runs at 4204 MHz
CPU 5 runs at 4204 MHz
CPU 6 runs at 4204 MHz
CPU 7 runs at 4204 MHz
上面描述有8个CPU,CPU的主频为4.2G赫兹
1.2 查看物理CPU个数
#prtconf|grep Processors
Number Of Processors: 4
1.3 确定CPU是几核
用逻辑CPU除以物理CPU就是核数。
1.4 查看单个CPU的详细信息
#lsattr -E -l proc0
2. 查询内存信息
2.1 # lsdev -Cc memory
查看配置的物理内存设备,下面为其输出示例:
L2cache0 Available L2 Cache
mem0 Available Memory
# lsattr -El mem0
输出类似如下所示:
goodsize 7936 Amount of usable physical memory in Mbytes False
size 7936 Total amount of physical memory in Mbytes False
此例说明机器的物理内存为5888MB。如果前面lsdev的输出中有设备名 mem1,则使用同样的命令查看其对应的大小并依此类推。
2.2 # bootinfo -r
8126464
此例说明机器清宴的物理内存为8126464kB。
2.3 # prtconf
输出类似下面所示:
Memory Size: 7936 MB
本命令会打出当前主机的详细配置信启正碧息悄举,输出中有Memory Size属性,指示其当前物理内存大小
2.4 # svmon -G
输出类似下面所示:
size inuse free pin virtual
memory 2031616 1474504 557112 210251 440972
pg space 131072 1555
work pers clnt
pin 210251 0 0
in use 440972 0 1033532
PageSize PoolSize inuse pgsp pin virtual
s 4 KB - 1426984 1555 187531 393452
m 64 KB - 2970 0 1420 2970
其中:size表示真实的物理内存的大小,单位是4k.因此当前物理内存大小为4k*2031616=8126464kB
二、Linux操作系统
1. 查询CPU信息
Linux下的CPU信息全部都在/proc/cpuinfo这个文件中,可以直接打开看。
1.1 查看物理CPU的个数
#cat /proc/cpuinfo |grep "physical id"|sort |uniq|wc -l
1.2 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep "processor"|wc -l
1.3 查看CPU是几核
#cat /proc/cpuinfo |grep "cores"|uniq
1.4 查看CPU的主频
#cat /proc/cpuinfo |grep MHz|uniq
2. 查询内存信息
#free -m
‘捌’ linux系统下怎么检查cpu频率
可是用dmesg查看启动信息 里面就有CPU的信息
cat /proc/cupinfo
cat /proc/partition
命令: cat /proc/cpuinfo 可以看到机器的主频是 3G 的。
model name : Intel(R) Xeon(R) CPU X5450 @ 3.00GHz
stepping : 10
cpu MHz : 3000.055
‘玖’ linux操作系统cpu最高是几核的
查看linux系统cpu最高几盒,可以试试以下方法:
几个cpu
more /proc/cpuinfo |grep “physical id”|uniq|wc -l
每个cpu是几核(假设cpu配置相同)
more /proc/cpuinfo |grep “physical id”|grep “0”|wc -l
cat /proc/cpuinfo | grep processor
1. 查看物理CPU的个数
#cat /proc/cpuinfo |grep “physical id”|sort |uniq|wc -l
2. 查看逻辑CPU的个数
#cat /proc/cpuinfo |grep “processor”|wc -l
3. 查看CPU是几核
#cat /proc/cpuinfo |grep “cores”|uniq
4. 查看CPU的主频
#cat /proc/cpuinfo |grep MHz|uniq
# uname -a
Linux euis1 2.6.9-55.ELsmp #1 SMP Fri Apr 20 17:03:35 EDT 2007 i686 i686 i386 GNU/Linux
(查看当前操作系统内核信息)
# cat /etc/issue | grep Linux
Red Hat Enterprise Linux AS release 4 (Nahant Update 5)
(查看当前操作系统发行版信息)
# cat /proc/cpuinfo | grep name | cut -f2 -d: | uniq -c
8 Intel(R) Xeon(R) CPU E5410 @ 2.33GHz
(看到有8个逻辑CPU, 也知道了CPU型号)
# cat /proc/cpuinfo | grep physical | uniq -c
4 physical id : 0
4 physical id : 1
(说明实际上是两颗4核的CPU)