zoukankan      html  css  js  c++  java
  • Glossary

    [0001]Power and thermal management are becoming more challenging than ever before in all segments of computer-based systems. While in the server domain, the cost of electricity drives the need for low power systems, in mobile systems battery life and thermal limitations make these issues relevant. Optimizing a system for maximum performance at minimum power consumption is usually done using the operating system (OS) to control hardware elements. Most modern OS's use the Advanced Configuration and Power Interface (ACPI) standard, e.g., Rev. 3.0b, published Oct. 10, 2006, for optimizing the system in these areas. An ACPI implementation allows a core to be in different power-saving states (also termed low power or idle states) generally referred to as so-called C1 to Cn states. Similar package C-states exist for package-level power savings.

    [0002]When a core is active, it runs at a so-called C0 state, and when the core is idle, it may be placed in a core low power state, a so-called core non-zero C-state. The core C1 state represents the low power state that has the least power savings but can be switched on and off almost immediately, while an extended deep-low power state (e.g., C3) represents a power state where the static power consumption is negligible, but the time to enter into this state and respond to activity (i.e., back to C0) is quite long.

    [0003]Package non-zero C-states enable power consumption at lower levels than the package active state (i.e., C0 state). Server workloads rarely drive all cores in same package busy, but even if only one core is active the whole package (including all idle cores) must stay in a high-power C0 state. Since package non-zero C-state entry/exit latency is relatively long (e.g., on the order of 100 to 200 microseconds (.mu.s)), the transient time for all cores being idle usually is not worth using that state, or a performance loss will occur. Thus the OS is unable to take advantage of a package's lower power state benefits, resulting in a package always running at a higher power state than needed.

    [Windows Memory Object] Free memory is ready for use; Zeroed memory is pages of memory filled with zeros to prevent later processes from seeing data used by a previous process. Standby memory is memory removed from a process's working set (its physical memory) on route to disk, but is still available to be recalled. Committed memory[1][2] is physical memory in use for which space has been reserved in the paging file so that it can be written to disk. The commit limit is determined by the size of the paging file. If the paging file is enlarged, the commit limit increases.

    Reserve a Region in an Address Space

    一个进程可以要求系统将自己地址空间的某一部分reserve起来,比如要把0x8080000开头的50M空间预留,就可以使用VirtualAlloc函数(fdwAllocationType=MEM_RESERVE)进行预留。预留以后,系统就不会使用这段空间,但这段空间并没有实际的物理内存与之关联,也就是不能用来存储数据。要想用它来存储数据就要Commit physical storage to the region。Windows总是从系统的paging file中分配这部分physical storage。Committed memory 就是有多少memory被Commit了。

    Heap is a region of reserved address space.

    Process Working Set

    The working set of a process is the set of pages in the virtual address space of the process that are currently resident in physical memory. Memory allocations that are nonpageable such as Address Windowing Extensions (AWE) or large page allocations are not included in the working set[3] .If free memory in the computer is above a threshold, pages are left in the working set of a process, even if they are not in use. When free memory falls below a threshold, pages are trimmed from working sets. If the pages are needed, they will be soft-faulted back into the working set before leaving main memory. It includes both shared and private data. The shared data includes pages that contain all instructions your application executes, including those in your DLLs and the system DLLs. As the working set size increases, memory demand increases.

    Private Bytes

    The Private Bytes counter indicates the total amount of memory that a process has allocated, not including memory shared with other processes.The Virtual Bytes counter indicates the current size of the virtual address space that the process is using. Some memory leaks appear in the data file as an increase in private bytes allocated. Other memory leaks show up as an increase in the virtual address space.

    Some related columns in the Task Manager[4]

    Memory - Working Set

    Amount of memory in the private working set plus the amount of memory the process is using that can be shared by other processes.

    Memory - Peak Working Set

    Maximum amount of working set memory used by the process.

    Memory - Working Set Delta

    Amount of change in working set memory used by the process.

    Memory - Private Working Set

    Subset of working set that specifically describes the amount of memory a process is using that cannot be shared by other processes.

    Memory - Commit Size

    Amount of virtual memory that is reserved and commited for use by a process. 注:private 给这个process的,不包含share部分?

    Memory - Paged Pool

    Amount of committed virtual memory for a process that can be written to another storage medium, such as the hard disk.

    Memory - Non-paged Pool

    Amount of committed virtual memory for a process that cannot be written to another storage medium.

    Page Faults

    Number of times data has to be retrieved from disk for a process because it was not found in memory. The page fault value accumulates from the time the process started.

    Page Fault Delta

    The change in the number of page faults since the last update.

  • 相关阅读:
    你所不知道的 CSS 阴影技巧与细节
    %date~0,4%和 %time~0,2%等用法详解
    计算程序执行时间
    GDI
    IO
    字符串拼凑批量Insert SQL语句神BUG
    用逗号分隔的数据转换到数组
    MVC ViewBag传值
    接口和抽象类对比
    Partial 同一个命名空间下写两个类名一样的类
  • 原文地址:https://www.cnblogs.com/whyandinside/p/1519754.html
Copyright © 2011-2022 走看看