精华内容
下载资源
问答
  • ACPI 中定义了 G、D、S、CP 这 5 个大的电力状态。 G 状态 Global system state G 状态表示的是用户看到的整个系统的电力状态。 G0 运行模式。向硬件提供电源,软件可以运行的状态。 G1 停止模式。所谓的待机或...

    ACPI 高级电源管理

    ACPI 中定义了 G、D、S、C、P 这 5 个大的电力状态。

    G 状态 Global system state

    G 状态表示的是用户看到的整个系统的电力状态。

    • G0 运行模式。向硬件提供电源,软件可以运行的状态。

    • G1 停止模式。所谓的待机或休眠状态。

    • G2 软件为关闭状态,应将消耗若干电力状态。

    • G3 系统完全关闭,电源关闭的状态。

    S 状态

    • S0 运行模式,与 G0 相同。

    • S1 到恢复为止的延迟时间较少的停止模式。 CPU 的上下文不会丢失。

    • S2 丢失 CPU 和系统缓存上下文。这些上下文需要在系统唤醒时进行恢复。在 Linux 中与 S3 相同。

    • S3 丢失除软件以外的系统上下文。这些上下文需要在操作系统唤醒时进行恢复。

    • S4 最省电。到恢复为止花费时间最多的停止模式。停止向所有设备提供电源

    • S5 除了不保存上下文以外,其它与 S4 相同。 S5 在恢复时进行的处理与普通的操作系统相同。与 G2 含义相同。

    D 状态

    Device Power State 定义的是各个设备的电力状态,设备的状态有如下内容:

    • 耗电量
    • 保存设备内寄存器上下文的状态
    • 直到设备驱动程序可使用为止必须进行的操作量
    • 直到设备可使用为止需要的时间

    不同的子状态描述如下:

    • D0 设备可以完全运行的状态。所有上下文全部有效,最耗电。

    • D1 对于每个设备的意义不同。一般来说,耗电量比 D0 少,丢失的上下文比 D2 更少

    • D2 对于每个设备类型的意义也不同。一般来说,耗电量比 D1 更少,丢失的上下文比 D1 更多。

    • D3hot 对于每个设备类型的意义不同。D3hot 状态的设备主电源开启,可以从软件访问设备。但上下文是否能保留取决于实际安装的设备。D3 设备电源完全断开的状态。设备的上下文全部丢失,到恢复为止花的时间最长。在 PCI 用语中称为 D3cold。PCI 中常常将 D3hot 与 D3cold 统称为 D3

    C 状态

    Processor Power State 是 G0 中 CPU 空闲时进行的省电模式。

    • C0 运行中的状态。通常的运行模式。

    • C1 CPU 停止状态。使用 hlt 命令停止 CPU 的时钟,到恢复为止几乎没有延迟时间,软件不需进行特殊处理。

    • C2 总线的时钟也停止。恢复所花费的最长延时时间传递给 ACPI 的固件,操作系统基于这个延时时间判断使用 C1 还是 C2。

    • C3 将花费时间最长的延迟传递给 ACPI 固件,操作系统使用这个延迟时间判断使用 C2 还是 C3。操作系统需要考虑缓存的同步。

    使用 C 状态时要注意,C 状态的程度越深,恢复到 C0 状态所需的时间越长。

    P 状态

    全称为 Device and Processor Performance State

    P 状态是以控制电量消耗来降低设备或 CPU 的性能,对 D0 状态的设备、C0 状态的 CPU 进行了更细致的划分。

    • P0 通常的模式。以最高性能、最大耗电量运行。

    • P1 运行在低于最高性能、最大耗电量的模式 Pn n 的值越大,性能和耗电量越低。

    ACPI 的结构

    1. ACPI 系统描述表
    2. ACPI 寄存器
    3. ACPI BIOS

    ACPI 描述表在 ACPI 的接口中是核心的组件,提供 ACPI 寄存器等信息。ACPI BIOS 可以 提供 ACPI 系统描述表以及启动、停止、唤醒等功能。

    两个编程模型

    ACPI 的硬件模型有下面两种:

    固定硬件编程模型

    使用 ACPI 中定义的寄存器来访问 ACPI 的功能。
    

    通用硬件编程模型

    各厂商可以使用 ACPI Machine Language 将硬件固有的处理安装到 BIOS 中。操作系统可 以通过分析 BIOS 提供的 AML 代码,来理解就餐器的地址和访问方法等。
    

    AML 是二进制码,通过编译 ACPI Source language 来生成。操作系统分析 AML 将 AML中 所写的内容按照解释器来执行。

    ACPI 系统描述表

    可以通过 pmtools 与 iasl 相关的命令来查看。执行如下命令安装这两个程序:

    sudo apt-get install pmtools sudo apt-get install iasl
    

    运行示例如下:

    root@debian:~# acpidump -b -o dsdt.dat 
    root@debian:~# ls apic.dat boot.dat dsdt.dat facp.dat facs.dat hpet.dat mcfg.dat srat.dat waet.dat 
    root@debian:~# ls apic.dat boot.dat dsdt.dat facp.dat facs.dat hpet.dat mcfg.dat srat.dat waet.dat root@debian:~#
    root@debian:~# iasl -d dsdt.dat
    
    Intel ACPI Component Architecture
    ASL+ Optimizing Compiler/Disassembler version 20181213
    Copyright (c) 2000 - 2018 Intel Corporation
    
    Input file dsdt.dat, Length 0x1368A (79498) bytes
    ACPI: DSDT 0x0000000000000000 01368A (v01 PTLTD  Custom   06040000 MSFT 03000001)
    Pass 1 parse of [DSDT]
    Pass 2 parse of [DSDT]
    Parsing Deferred Opcodes (Methods/Buffers/Packages/Regions)
    
    Parsing completed
    Disassembly completed
    ASL Output:    dsdt.dsl - 729339 bytes
    root@debian:~# head -n 30 dsdt.dsl
    /*
     * Intel ACPI Component Architecture
     * AML/ASL+ Disassembler version 20181213 (64-bit version)
     * Copyright (c) 2000 - 2018 Intel Corporation
     *
     * Disassembling to symbolic ASL+ operators
     *
     * Disassembly of dsdt.dat, Mon Aug 10 12:43:44 2020
     *
     * Original Table Header:
     *     Signature        "DSDT"
     *     Length           0x0001368A (79498)
     *     Revision         0x01 **** 32-bit table (V1), no 64-bit math support
     *     Checksum         0x63
     *     OEM ID           "PTLTD "
     *     OEM Table ID     "Custom  "
     *     OEM Revision     0x06040000 (100925440)
     *     Compiler ID      "MSFT"
     *     Compiler Version 0x03000001 (50331649)
     */
    DefinitionBlock ("", "DSDT", 1, "PTLTD ", "Custom  ", 0x06040000)
    {
        External (_SB_.L1M0.L0MX, IntObj)
        External (_SB_.L1M1.L0MX, IntObj)
        External (_SB_.L1M2.L0MX, IntObj)
        External (_SB_.L1M3.L0MX, IntObj)
        External (_SB_.L1M4.L0MX, IntObj)
        External (_SB_.L1M5.L0MX, IntObj)
        External (_SB_.L1M6.L0MX, IntObj)
        External (_SB_.L1M7.L0MX, IntObj)
    

    使用 ACPI 的 S 状态

    查看支持的 S 状态:

    root@debian:~# cat /sys/power/state
    freeze standby mem disk
    standby S1 mem S3 disk S4
    

    切换状态:

    echo "状态字符串" > /sys/power/state
    

    执行示例:

    root@debian:~# echo "mem" > /sys/power/state
    

    按下电源键就可以恢复。

    S3 状态的结构

    使用 S3 状态时,不同系统的反应不同,大致操作如下:

    • 停止进程
    • 停止设备运行
    • 将唤醒时的开始地址作为 Wakeup vector 登录到 BIOS
    • 停止 BSP (Boot Strap Processor) 以外的 CPU 运行
    • 停止系统设备运行
    • 保存内核和 CPU 的状态
    • 将获取到的 ACPI 的 _S3 对象得到的值写入 FADT 的 PM1 寄存器,进入待机模式。
    • 系统恢复时,从登录到 wakeup vector 的地址启动,按下列方式恢复到待机前的状态
    • 启用 ACPI
    • 恢复系统设备
    • 启用 CPU
    • 清除 wakeup vector
    • 恢复停止的设备
    • 恢复进程

    S4 状态的使用方法

    linux 中 S4 称为 swap 待机,有内核的 S4 处理通过将内存上的所有数据保存在交换区磁盘来停止电源,恢复时由 bootloader 启动内核,在内核初始化时,把之前保存到交换区磁盘的数据读入内存来快速回复到原来的状态。

    使用方法如下:

    echo "platform" > /sys/power/disk 
    echo "disk" > /sys/power/state
    

    休眠要使用交换区磁盘,一般需要准备内存的 1.5 ~ 2 倍的磁盘容量。这应该就是 swap 要设置为 2 倍内存大小的原因。

    在我的系统中,默认保存在交换区磁盘的内存大小如下:

    longyu@debian:~$ cat /sys/power/image_size 814505984
    

    执行如下命令来取消限制。

    echo "0" > /sys/power/image_size
    

    执行一次休眠后按电源键重新启动系统后查看 dmesg 信息,有如下相关信息:

    [  759.283304] PM: hibernation entry
    [  759.285989] PM: Syncing filesystems ...
    [  759.289551] PM: done.
    [  759.289552] Freezing user space processes ... (elapsed 0.001 seconds) done.
    [  759.291357] OOM killer disabled.
    [  759.291465] PM: Marking nosave pages: [mem 0x00000000-0x00000fff]
    [  759.291466] PM: Marking nosave pages: [mem 0x0009e000-0x000fffff]
    [  759.291467] PM: Marking nosave pages: [mem 0x7fee0000-0x7fefffff]
    [  759.291468] PM: Basic memory bitmaps created
    [  759.291505] PM: Preallocating image memory... done (allocated 95921 pages)
    [  759.339329] PM: Allocated 383684 kbytes in 0.04 seconds (9592.10 MB/s)
    [  759.339330] Freezing remaining freezable tasks ... (elapsed 0.002 seconds) done.
    [  759.342363] Suspending console(s) (use no_console_suspend to debug)
    [  759.343092] serial 00:05: disabled
    [  759.376353] mptbase: ioc0: pci-suspend: pdev=0x0000000010a726cd, slot=0000:00:10.0, Entering operating state [D0]
    [  759.457082] ACPI: Preparing to enter system sleep state S4
    [  759.457366] PM: Saving platform NVS memory
    [  759.457368] Disabling non-boot CPUs ...
    [  759.494741] smpboot: CPU 1 is now offline
    [  759.522630] smpboot: CPU 2 is now offline
    [  759.550458] smpboot: CPU 3 is now offline
    [  759.583388] smpboot: CPU 4 is now offline
    [  759.606987] smpboot: CPU 5 is now offline
    [  759.625346] smpboot: CPU 6 is now offline
    [  759.653837] smpboot: CPU 7 is now offline
    [  759.655801] PM: Creating hibernation image:
    [  759.682494] PM: Need to copy 90196 pages
    [  759.682497] PM: Normal pages needed: 90196 + 1024, available pages: 433921
    [18446744073.256268] PM: Restoring platform NVS memory
    [18446744073.257563] Enabling non-boot CPUs ...
    [18446744073.257640] x86: Booting SMP configuration:
    [18446744073.257640] smpboot: Booting Node 0 Processor 1 APIC 0x1
    [18446744073.258291] Disabled fast string operations
    [18446744073.258509]  cache: parent cpu1 should not be sleeping
    [18446744073.258972] CPU1 is up
    [18446744073.258998] smpboot: Booting Node 0 Processor 2 APIC 0x2
    [18446744073.259670] Disabled fast string operations
    [18446744073.259845]  cache: parent cpu2 should not be sleeping
    [18446744073.260236] CPU2 is up
    [18446744073.260272] smpboot: Booting Node 0 Processor 3 APIC 0x3
    [18446744073.260877] Disabled fast string operations
    [18446744073.261022]  cache: parent cpu3 should not be sleeping
    [18446744073.261423] CPU3 is up
    [18446744073.261443] smpboot: Booting Node 0 Processor 4 APIC 0x4
    [18446744073.262117] Disabled fast string operations
    [18446744073.262547]  cache: parent cpu4 should not be sleeping
    [18446744073.263934] CPU4 is up
    [18446744073.263991] smpboot: Booting Node 0 Processor 5 APIC 0x5
    [18446744073.264913] Disabled fast string operations
    [18446744073.265184]  cache: parent cpu5 should not be sleeping
    [18446744073.265796] CPU5 is up
    [18446744073.265821] smpboot: Booting Node 0 Processor 6 APIC 0x6
    [18446744073.266459] Disabled fast string operations
    [18446744073.266673]  cache: parent cpu6 should not be sleeping
    [18446744073.267193] CPU6 is up
    [18446744073.267219] smpboot: Booting Node 0 Processor 7 APIC 0x7
    [18446744073.267894] Disabled fast string operations
    [18446744073.268043]  cache: parent cpu7 should not be sleeping
    [18446744073.268521] CPU7 is up
    [18446744073.269975] ACPI: Waking up from system sleep state S4
    [18446744073.325536] mptbase: ioc0: pci-resume: pdev=0x0000000010a726cd, slot=0000:00:10.0, Previous operating state [D0]
    [18446744073.325631] mptbase: ioc0: pci-resume: ioc-state=0x1,doorbell=0x14000000
    [18446744073.325631] mptbase: ioc0: Sending mpt_do_ioc_recovery
    [18446744073.325632] mptbase: ioc0: Initiating bringup
    [18446744073.325634] [drm] width 640
    [18446744073.325639] [drm] height 480
    [18446744073.325643] [drm] bpp 32
    [18446744073.327033] [drm] Fifo max 0x00040000 min 0x00001000 cap 0x0000077f
    [18446744073.327785] [drm] Using command buffers with DMA pool.
    [18446744073.328515] usb usb2: root hub lost power or was reset
    [18446744073.330434] serial 00:05: activated
    [18446744073.331200] usb usb1: root hub lost power or was reset
    [18446744073.331518] ehci-pci 0000:02:03.0: cache line size of 64 is not supported
    [18446744073.389402] e1000: ens38 NIC Link is Up 1000 Mbps Full Duplex, Flow Control: None
    [18446744073.423015] ioc0: LSI53C1030 B0: Capabilities={Initiator}
    [18446744073.662087] mptbase: ioc0: pci-resume: success
    [18446744073.696571] usb 2-2: reset full-speed USB device number 3 using uhci_hcd
    [    0.267194] usb 2-1: reset full-speed USB device number 2 using uhci_hcd
    [    0.433369] PM: Basic memory bitmaps freed
    [    0.433370] OOM killer enabled.
    [    0.433370] Restarting tasks ... done.
    [    0.436577] PM: hibernation exit
    

    PM: hibernation entry 与 PM: hibernation exit 之间就是休眠过程的处理。

    有的 PC 上可能出现 BIOS 无法顺利运行,休眠失败的情况,这时可以尝试如下方法:

    1. 编辑 grub.cfg 内核启动参数中添加用于恢复系统的交换设备 “resume=<交换设备名称>” 如 resume=/dev/sda1

    2. 执行如下敏玲将休眠设置为 shutdown 模式

    	echo shutdown > /sys/power/disk
    
    1. 进行休眠
    	echo disk > /sys/power/state
    

    如果恢复系统后系统运行状态有所不同,有时会通过将交换区的数据强制读入内存来改善性能,这可以通过执行如下命令来完成:

    swapoff -a
    swapon -a
    

    如果休眠失败,可以查看 /var/log/messages 文件来寻找原因。

    展开全文
  • ACPI电源状态/CPU工作状态

    千次阅读 2016-11-01 18:39:44
    C0状态(激活)这是CPU最大工作状态,在此状态下可以接收指令和处理数据 ,所有现代处理器必须支持这一功耗状态。 1.C1状态(挂起) 可以通过执行汇编指令“HLT(挂起)”进入这一状态 唤醒时间超快!...

    近几年,个人计算机的运行速度有了质的飞跃,但是功耗却没能与时俱进,着实让人觉得遗憾不少。例如这样一台为游戏玩家配备的电脑:四核心处理器、两块nVidia GeFore8800 Ultra、4条DDR2内存、几块硬盘,你估计功耗会是多少?就算什么也不干,功耗也下不了200W!不管是为了省银子,还是为了环保,降低能耗已然成为我们必须考虑的问题啦。

    1992年1月,微软(Microsoft)与英特尔(Intel)共同制定了电脑电源管理规格:高级电源管理(Advanced Power Management,APM)。1996年12月,APM的继任者Advanced Configuration and Power Interface(ACPI)在微软、康柏、英特尔、东芝、Phoenix的努力下诞生,这也是行业开放标准的电源管理界面。那么APMACPI有什么不同?

    • 执行成本低,但效果不明显
    • 应用程序和驱动直接控制了APM驱动
    • 各个配件的功耗由相应的驱动来管理
    • CPU等硬件的功耗由APM BIOS来管理
    • 电源管理状态比较简单,由APM来管理
    • 执行成本偏高,但比较有效
    • 应用程序不负责功耗管理
    • 配件通过ACPI界面来管理功耗
    • ACPI更抽象,因此要把操作系统和硬件分开管理
    • 电源管理状态更复杂,因此由操作系统来处理。
    ACPI电源管理状态

    一、全局状态(Global system states)

    1.G0工作状态
    • 在这一状态下可运行应用程序
    • 整个计算机系统都可以运行,但外设、CPU都可动态改变各自的功耗。例如,在听音乐的时候就会把显示器关闭
    • 笔记本电脑在运行最大化节电模式时,CPU会在某一时间内
    • 是所有G状态下功耗最高的
    • 例如:如果只是上网或者聊天,CPU将以最低的时钟频率运行,同时关闭CD-ROM光驱等,以达到节电的目的。
    2.G1睡眠状态
    • 在G1状态下无法运行应用程序。计算机呈“关闭”状态。
    • 不用重新启动,操作系统会切换到正常状态(G0)。
    • 计算机的大部分内容都会保存在RAM内存或硬盘中。
    • 唤醒延迟(从G1切换到G0)有很多种,这取决于G1状态下的S-State选择。
    • 功耗很小,可能降低至几瓦(由S-State决定)。
    • 例如:在Windows XP系统中会切换到“待机”或“休眠”模式。
    3.G2软关机状态
    • 不可运行应用程序和操作系统(保留在G2状态中)。
    • 除了主要的电源供电单元,基本上会关闭整个系统。
    • 功耗约等于零
    • 需重启系统,唤醒延迟时间比较长
    • 例如,在Windows XP系统中选择“关闭计算机”,但总电源并没有关闭。
    4.G3机械性关机
    • 通过切断总电源来彻底关闭计算机
    • 使用笔记本电源,只有实时时钟频率
    • 不考虑电池,功耗为零
    • 切换到工作状态的时间比较长
    全局状态概要


    二 、睡眠状态(Sleeping states)

    S1. CPU不执行指令(彻底睡过去了)

    S2. 不执行应用程序(睡着了)

    S3. 部分配件处于睡眠状态,方便唤醒

    S4. 系统被唤醒后,计算机会继续执行

    1.S1状态
    • CPU输入频率被终止,缓存无效
    • 系统内存进入“Self-refreshing(自我更新)”模式
    • 除实时频率外,所有系统频率被关闭
    • 功耗比G0工作状态下更低
    • 一般需2秒切换到G0工作状态
    • 例如:如果不支持S3状态,就在Windows XP系统下进入“待机”模式
    2.S2状态
    • 与S1状态相似——除了CPU功耗状态
    • 在S2中,CPU和缓存被关闭
    • S2状态中的唤醒延迟比S1长,但更省电
    3.S3状态
    • 除了RAM,CPU、缓存、芯片组、外设均被关闭
    • 需要调用内存的设备仍然运行
    • RAM转入低功耗、自我更新模式
    • 只有RAM与板载配置的功耗
    • 唤醒延迟为5-6秒
    • 例如:如果硬件支持S3状态,在Windows XP系统中进入“待机”模式
    4.S4状态
    • 包括RAM在内的所有部件均被关闭
    • 只保留平台设置,其他部分设置被保存在硬盘的特殊位置中
    • 成功切换至S4平台后,系统会关闭
    • 因为几乎所有的程序和配置都已经停止运行,因此功耗<3W
    • 唤醒计算机时需要再次进入“BIOS Boot Sequence”
    • 不需重启系统,计算机会继续执行
    • 例如:在Windows XP系统下的“睡眠”模式
    睡眠状态概要

    三、设备电源状态(Device Power states)

    它是出现在全局系统G0工作状态。
    1.D0状态
    • 在此状态下,计算机在全功耗和全功能下运行
    • 例如:可以使用DVD-ROM光驱
    2.D1状态
    • 功耗比D0状态下低
    • 例如:在不使用的情况下会自动关闭DVD-ROM光驱,但驱动仍在运行
    3.D2状态
    • 与D1相似,但电压更低
    • 在此状态下更节能,不过从D2状态唤醒的时间更长
    4.D3状态
    • 此状态下,所有设备均被关闭
    • 可最大限度节能
    • 唤醒时间是所有D状态下最慢的
    D状态实例
    例1:硬盘驱动功耗管理

    例2:显卡功耗管理

    四、CPU电源状态(CPU Power states)

    一般用户很少注意到这个状态,通常只会在使用CPU-Z来监控时钟频率和电压时才会留意到它。
    移动处理器的C状态比台式机的多。例如,Core 2 Duo处理器(Meron)会支持C0-C4状态,然后桌面型Core 2 Duo处理(Conroe)仅支持C1-C0状态。
    C0状态(激活)这是CPU最大工作状态,在此状态下可以接收指令和处理数据 ,所有现代处理器必须支持这一功耗状态。
    1.C1状态(挂起)
    • 可以通过执行汇编指令“HLT(挂起)”进入这一状态
    • 唤醒时间超快!(快到只需10纳秒!)
    • 可以节省70%的CPU功耗
    • 所有现代处理器都必须支持这一功耗状态
    2.C2状态(停止允许)
    • 处理器时钟频率和I/O缓冲被停止
    • 换言之,处理器执行引擎和I/0缓冲已经没有时钟频率
    • 在C2状态下也可以节约70%的CPU和平台能耗
    • 从C2切换到C0状态需要100纳秒以上
    3.C3状态(深度睡眠)
    • 总线频率和PLL均被锁定
    • 在多核心系统下,缓存无效
    • 在单核心系统下,内存被关闭,但缓存仍有效
    • 可以节省70%的CPU功耗,但平台功耗比C2状态下大一些
    • 唤醒时间需要50微妙
    4.C4状态(更深度睡眠)
    • 与C3相似,但有两大区别
    • 一是核心电压低于1.0V
    • 二是二级缓存内的数据存储将有所减少
    • 可以节约98%的CPU最大功耗
    • 唤醒时间比较慢,但不超过1秒
    5.C5状态
    • 二级缓存的数据被减为零
    • 唤醒时间超过200微妙
    6.C6状态
    • 这是Penryn处理器中新增的功耗管理模式
    • 二级缓存减至零后,CPU的核心电压更低
    • 不保存CPU context
    • 功耗未知,应该接近零
    • 唤醒时间未知
    CPU电源状态概要


    展开全文
  • CPUC-States /Cpu的各种状态

    万次阅读 2016-09-14 11:00:45
    ... ...http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4...http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4...C- ...从C0开始,C0是 CPU ...CPU 处于100%运行状态。...

    http://wenku.baidu.com/view/b6bb8373e009581b6ad9eb93.html?re=view

    点击打开链接


    http://wenku.baidu.com/link?url=FQL4jux95AD_uLf7A0WChEVIQbampCxug0gEU4LH_4iWskJQh-yTZA_S-74lBlnDDjr1lVWcQ8UpR687Ne91tM9RmhK271Y0eeZabvLlTLS

    点击打开链接


    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d8d8b492c93cf13d9735b361b31a5a660794613d3b37f6701a44859fdf04029611420c19bc38e4ad9b0983f2fff7d722f4292044f934fa09a5124b137902cfeaf68a6fca374c4efc5d3ae4323cd44747c97f1fb1b46478c38b1033093b1983b025f61bd&p=81759a46d6c60efc57ef85605207cd&newp=882a9645d38152fb0be2966f4e0594231610db2151d7d3166b82c825d7331b001c3bbfb42323100ed8c778610aa4425ce9fa3475360021a3dda5c91d9fb4c57479ca3460&user=baidu&fm=sc&query=C%2D+states+%B5%C4states%3A+5&qid=995ea2720000615b&p1=5


    点击打开链接



    http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d8d8b492c93cf13d9735b361b31a5a660794613d3b37c600baa4a5fe8f62172415876a09bbe8948d8bb95222f9f27432a5ad91f069644ef9d49748367875a98ee5fb4fca77384aea3d4&p=ce7ec64ad4934eac58e8cf684659cb&newp=8b2a975ecd934eac58e8dd27175085231610db2151d2c44324b9d71fd325001c1b69e7ba27261706d1c0786d07a54b5cebf33072301766dada9fca458ae7c43334&user=baidu&fm=sc&query=cpu+states+5&qid=986eeffe00005882&p1=1


    点击打开链接

    C-States从C0开始,C0是CPU的正常工作模式,CPU处于100%运行状态。C后的数越高,CPU睡眠得越深,CPU的功耗被降低得越多,同时需要更多的时间回到C0模式。

    每一个模式都有一个对应的名字,有的模式还有子模式,子模式又具有不同功耗和唤醒时间。)
    展开全文
  • Top命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的任务信息并且每5秒钟刷新1次。 下面是输出的标志: us:用户空间占CPU百分百 sy:内核空间占CPU百分比 ni:用户进程空间内改变过优先级的...
    top:
     Top命令显示了实际CPU使用情况,默认情况下,它显示了服务器上占用CPU的任务信息并且每5秒钟刷新1次。
    查看内存,CPU的状态几个命令的简单学习笔记
    下面是输出的标志:
    us:用户空间占CPU百分百
    sy:内核空间占CPU百分比
    ni:用户进程空间内改变过优先级的进程占用CPU百分比
    id:空闲进程占CPU百分比
    wa:等待输入输出占CPU的百分比
    PID:进程标志
    USER:进程所有者的用户名
    PR:进程的优先级
    NI:nice级别
    VIRT:进程使用的虚拟内存总量(VIRT = SWAP + RES
    RES:进程使用的未被换出的物理内存
    SHR:共享内存的大小
    S:进程状态
    %CPU:共享的CPU使用
    %MEM;共享的物理内存
    TIME+:进程占用CPU的时间,单位1/100秒
    COMMAND:启动任务的命令行(包括参数)
    简单介绍到这,更详细的可通过man获得
    vmstat:
    vmstat命令是最常见的Linux/Unix监控工具,可以展现给定时间间隔的服务器的状态值,包括服务器的CPU使用率,内存使用,虚拟内存交换情况,IO读写情况。一般vmstat工具的使用是通过两个数字参数来完成的,第一个参数是采样的时间间隔数,单位是秒,第二个参数是采样的次数,如:
    查看内存,CPU的状态几个命令的简单学习笔记
    下面是输出的标志:
    r:表示等待cpu运行队列中进程的数量
    b:表示阻塞进程的数量
    swpd:表示虚拟内存已经使用的大小,如果大于0说明物理内存已经不够用了。
    free:空闲的物理内存大小。
    buff:用来存储目录内容,权限的缓存。
    cache:缓存
    si:每秒从磁盘读入虚拟内存的大小,如果这个值大于0,表示物理内存不够用或者内存泄露了,要查找耗内存进程解决掉。
    so:每秒从虚拟内存写入磁盘的大小,如果大于0同上
    bi:块设备每秒接受的块数量
    bo:块设备每秒发出的块数量
    in:cpu的每秒中断次数,包括时钟中断。
    cs:每秒上下文切换次数。
    us:用户程序运行cpu时间
    sy:内核程序运行cpu时间
    id:系统空闲cpu时间
    wa:IO等待cpu时间
    sar -q:
    进程队列长度和平均负载状态监控,每10秒监控一次,后面还可以输入数字显示监控几次。
    查看内存,CPU的状态几个命令的简单学习笔记
    下面是输出的标志:
    runq-sz:运行队列的长度。
    plist-sz:当前系统的进程个数。
    ldavg-1:过去1分钟的平均值
    ldavg-5:过去5分钟的平均值
    idavg-15:过去15分钟的平均值
    sar -w: 查看上下文切换的平均次数,以及进程创建的平均值;
    -------------------------------------------------------------------------------------------------------------------
    查看cpu的利用率:
    mpstat:
    mpstat显示所有cpu的
    mpstat -P 0 1:表示隔一秒显示一次0号cpu的信息
    查看内存,CPU的状态几个命令的简单学习笔记
    usr、nice、sys、iowait、idle基本上与前面的一样。
    irp:显示中断的
    soft:软中断
    steal:被虚拟机偷走的
    guest:被虚拟机使用的
    idle:空闲的
    iostat:
    用来报告cpu的统计数据与输入与输出的统计数据
    -c表示cpu的,-c 1 6也是每隔一秒采样六次,其余选项可通过man来获得
    查看内存,CPU的状态几个命令的简单学习笔记
    dstat:
    dstat 是一个可以取代vmstat,iostat,netstat和ifstat这些命令的多功能产品。dstat克服了这些命令的局限并增加了一些另外的功能,增加了监控项,也变得更灵活了。dstat可以很方便监控系统运行状况并用于基准测试和排除故障。
    -–disk-util :显示某一时间磁盘的忙碌状况
    -–freespace :显示当前磁盘空间使用率
    -–proc-count :显示正在运行的程序数量
    -–top-bio :指出块I/O最大的进程
    -–top-cpu :图形化显示CPU占用最大的进程
    -–top-io :显示正常I/O最大的进程
    -–top-mem :显示占用最多内存的进程
    这几个可以同时使用
    查看内存,CPU的状态几个命令的简单学习笔记
    其余的可通过man查看
    关于cpu与进程的绑定,这里就不再介绍了,使用taskset命令。
    展开全文
  • CPU工作状态的知识介绍

    万次阅读 2013-09-12 20:24:36
     ·与S1状态相似——除了CPU功耗状态  ·在S2中,CPU和缓存被关闭  ·S2状态中的唤醒延迟比S1长,但更省电  S3状态  ·除了RAM,CPU、缓存、芯片组、外设均被关闭  ·需要调用内存的设备仍然运行...
  • cpufreq子系统】P State和C State

    千次阅读 2018-05-18 16:02:28
    cpufreq子系统是在linux2.6.0之后导入的,cpufreq主要由两个部分组成:调控器(类似interactive变速器)+守护程序CPU电源状态C stateCPU性能状态P state实际上在linara的官网脚本上统计出来的c-state是指的idle...
  • CPU P-States/T-States/G-States/S-States/C-States含义 P-States:Performance States,能效状态。 T-States:Throttling States。 S-States:Sleeping States,睡眠状态。 G-States:Global States,全局...
  • linux CPU性能及工作状态查看指令

    万次阅读 2016-08-02 22:14:19
    本博客主要讲解了日常运维过程中,查看系统状态的一些指令mpstat,vmstat,iostat,sar,top0、准备知识1> 衡量CPU性能的指标:<1> 用户使用CPU CPU运行实时进程 CPU运行niced process CPU运行常规用户进程 <2> 系统...
  • 衡量CPU性能的指标:1,用户使用CPU的情况;... 用于I/O管理:中断和驱动 用于内存管理:页面交换 用户进程管理:进程开始和上下文切换3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率。4,CP...
  • Linux查看CPU状态:htop命令

    万次阅读 2018-08-30 16:46:18
    6) P 按照CPU排序; 7) T 按在线时长排序; 8) ctrl + L 刷新; 9) 直接输入数字,查找对应的PID进程; 命令行选项 除了上面介绍的一些热键,htop 还提供了很有用的命令行选项。下面是其中一部分: -s...
  • linux查看cpu 内存运行状态命令

    万次阅读 2013-11-26 17:17:04
    原文地址:http://www.360doc.com/content/11/0505/00/2104556_114442966.shtml 参考... Linux查看CPU和内存使用情况 ...在系统维护的过程中,随时可能有需要查看 CPU 使用率,并根据相应信息
  • CPUP-state

    千次阅读 2010-12-02 09:36:00
    <br />转自:http://blog.csdn.net/hgf1011/archive/2010/09/24/5903082.aspx<br />P-state<br />1. Overview<br />  CPUC0状态时会执行指令,但是即使在C0状态下OSPM仍然可以通过调整CPU的工作电压和...
  • CPU C-state & cpuidle driver

    千次阅读 2020-07-15 15:14:12
    C-state是intel CPU处于空闲时的一种状态CPU有几种电源模式,它们统称为“c状态”或“c模式” 低功耗模式最初是在486DX4处理器中引入的。到目前为止,已经引入了更多的功耗模式,并且对每种模式进行了增强,以使...
  • psutil获取系统cpu使用率的方法是cpu_percent(interval=None, percpu=False),其有两个参数,分别是interval和percpu,interval指定的是计算cpu使用率的时间间隔,percpu则指定是选择总的使用率还是每个cpu的使用率 ...
  • 1. 现象 ...CPU占用100% 2. code public class JStack { public static void main(String[] args) { while (true) { //Do Nothing } } } 3. 分析过程 a. top 所有进程--- c ---u --sea...
  • nagios监控vsphere ESXi主机硬件状态(CPU风扇、电源模块、硬盘、温度)esxi 的只读账户和密码(本文以chkhardware/chkreadonly为例)插架下载地址,此地址附有相关说明:...DELL R410...
  • 本篇介绍如何使用Python编写一个能输出树莓派各种状态和数据的脚本,包括CPU温度、CPU占用情况、内存占用情况和硬盘占用。 建立脚本: 1 sudo nano get.py 贴入如下代码: 1 2 3 4 5 6 7 8 9 ...
  • top命令经常用来监控linux的系统状况,比如cpu、内存的使用,程序员基本都知道这个命令,但比较奇怪的是能用好它的人却很少,例如top监控视图中内存数值的含义就有不少的曲解。 本文通过一个运行中的WEB服务器的...
  • 大家都熟悉Linux下可以通过top命令来查看所有进程的内存,CPU等信息。除此之外,还有其他一些命令,可以得到更详细的信息,例如 进程相关 [plain] view plaincopy cat /proc/your_...
  • 衡量CPU性能的指标: 1,用户使用CPU的情况; CPU运行常规用户进程 CPU运行niced process ...3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率。 4,CPU的空闲率,除了上面的WIO以外的空闲时间
  • 转一个使用Python编写的能输出树莓派各种状态和数据的脚本,包括CPU温度、CPU占用情况、内存占用情况和硬盘占用。 文章出自:树莓派实验室 一、建立脚本: Bash sudo nano get.py 二、粘贴以下代码: ...
  • 搬自http://tieba.baidu.com/p/3005287033 用wget下载indicator-sysmonitor 终端运行`wget -c https://launchpad.net/indicator-sysmonitor/trunk/4.0/+download/indicator-sysmonitor_0.4.3_all.deb` 下载好后...
  • 衡量CPU性能的指标: 1,用户使用CPU的情况; CPU运行常规用户进程 CPU运行niced process ...3,WIO:用于进程等待磁盘I/O而使CPU处于空闲状态的比率。 4,CPU的空闲率,除了上面的WIO以外的空闲时间
  • 一,CPU使用情况 查看 1.1 top 命令 top top - 19:56:31 up 161 days, 4:38, 2 users, load average: 2.49, 3.00, 2.80 Tasks: 162 total, 2 running, 160 sleeping, 0 stopped, 0 zombie %Cpu(s): 8.5 us, 5.4 ...
  • 转自(流浪的布布(浪布) -- ...# Copyright (c) 2014, Lambo Wang, All rights reserved. # Use of this source code is governed by a GNU v2 license that can be # found in the LICENSE file. # # Logs: # Tra...
  • 注:需要安装psutil库 源代码如下: #!/usr/bin/env python # # $Id: iotop.py 1160 2011-10-14 18:50:36Z g.rodola@...# # Copyright (c) 2009, Jay Loden, Giampaolo Rodola'. All rights reserved. # Use of this s
  • CPU电源管理(P-state)

    千次阅读 2020-10-15 10:26:15
    计算机系统需要电力来执行各种活动,比如CPU需要从内存获取数据和应用程序、执行指令、显示输出结果,同时它也通过各种接口与用户通信,如使用网卡与网络上的其他计算机交互。这些功能是计算机系统中的各硬件部件...
  • CPUC-state

    万次阅读 2010-12-02 09:32:00
       C-state是ACPI spec定义的CPU工作在G0时的power states,这些状态包括C0,C1,C2,C3…Cn.其中C0被称为Active状态,也只有C0的时候CPU才会执行指令;其余的状态则被称为sleeping,这时CPU是不执行指令的,也...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 204,530
精华内容 81,812
关键字:

cpup状态c状态