It takes about 8 seconds to enable Visual Studio 2010 for the first time on my computer, but it takes about 2 seconds to enable Visual Studio again after it is turned off. Why?
Well, you must know that Windows is behind the scenes. You even know that we call them cold start and warm start respectively ), but what is the difference between Windows and Windows?
Task Manager is used almost every day, but its "performance" page content may not be fully understood; Process explorer is also often seen, but its system information) the contents in the box may not be fully recognized. It took some time to rationalize these concepts and summarize them. I believe that after reading these questions, we will have a clear answer to the question just now.
Although this dialog box is named "system information", it mainly contains some system performance parameters, such as memory, CPU, I/O. From top to bottom, there are 10 categories from left to right. Let's explain them one by one.
- CPU Usage
Total CPU usage. On the right side of the CPU Usage History, we can see its Usage History. We can note that there are two lines: the red one is the kernel Usage, while the green one indicates the total Usage. If your system uses a card from time to time, you can view the usage of each process and cannot capture it because it is too fast. If you move your mouse over a previous peak, a tooltip will pop out, it is clear who is playing tricks.
Of course, if it is a multi-core machine, you can check the "Show one graph per CPU" at the bottom to view the usage of a single core.
- Commit
Virtual Memory"Approved usage". This is the translation of the task manager. If we forcibly swap all the content in the physical memory that can be exchanged to pagefile, the total content in pagefile is the size of Commit. This is why the task manager also calls Commit the Page File usage (the valid content of the page file/the size of the page file. For the current system, the size is the content that has been written to the page file, plus the content that can be written to the page file in the physical memory.
"Commit"Or"Approved usage"This name does not sound intuitive, but we know that when an API called VirtualAlloc allocates memory, we can specify the memory type. Two common types are MEM_COMMIT and MEM_RESERVE, we can see that Commit actually refers to the memory allocated in MEM_COMMIT mode.
The memory to be exchanged to pagefile includes private bytes and paged pool, and the memory to be exchanged to page file includes memory ing files (they will be exchanged to the corresponding executable files) and nonpaged pool or system kernel, Driver (resident memory ).
- I/O Bytes
System input and output. Activities include files, networks, and devices (mouse, keyboard, and so on. Reading and Writing files is the most common type of I/O. In the historical window on the right, blue indicates the total amount of read and write, while pink indicates the amount of write. Like CPU usage, we can clearly identify which processes have been read and written in large quantities. In general, the pink line is "sticking to the ground", but you can see a sudden rise in the pink line through the copy-paste hundred megabytes of files (such as avi or rmvb.
- Physical
Physical memory usage.
- Totals
The total number of handles, threads, and processes in the system.
Here, Handle is a reference to the operating system, such as HWND, HMENU, HDC, etc. You can simply think of it as pointing to a memory block of the system. Of course, the actual situation is more complicated than this.
- Commit Charge (k)
This is the Commit introduced in the second item, except for the real-time approval of usage, but also provides more information about Commit Charge :.Current: Current Commit Charge size
Limit: maximum possible value of Commit Charge, generally: page file size + physical memory size-resident physical memory content (nonpaged pool, system core, etc)
Peak: The maximum Commit Charge size since the system was started.
The significance of Peak/Limit and Current/Limit data is self-evident. When the Current/Limit value is close to 100%, your system will be very slow.
This concept is well explained on the Wiki: Commit Charge.
- Physical memory (k)
Physical memory usage.Total: Total physical memory
Available: Available physical memory, including free page list, zero page list, and standby page list. The physical memory usage shown in item 4 is added with the Available physical memory, naturally, it is the total amount of physical memory.
System Cache: Includes Cache Bytes (System's working set) and standby page list.
Standby page list is available in physical memory. When free page list and zero page list are used up, the cache will be damaged to use it. Standby page list is also a cache, which is the cache of the disk content in the physical memory. When you access the content again, you can directly obtain it from the physical memory cache to avoid reading the disk.
- Kernel Memory (k)
Kernel memory. The memory used in the kernel contains two very important concepts: paged pool and nonpaged pool. The kernel allocates memory through these two memory pools. As its name indicates, the memory in the paged pool can be switched to the page file, while the memory in the nonpaged pool is resident in the physical memory, it will never be exchanged to pagefile.Paged Physical: the size of the Physical memory allocated by the paged pool.
Paged Virtual: total memory size allocated by the paged pool.
Paged Limit: maximum value of the paged pool, which can be set in the registry.
Nonpaged: The size of memory allocated on the nonpaged pool, that is, the size of the physical memory.
Nonpaged Limit: the maximum value of nonpaged pool, which can be set in the registry.
Here, you must set the system symbol file for the content of page limit and nonpaged limit to be correctly displayed: Option | Configure Symbols.
- Paging
Paging not only refers to the system page file, but also includes memory mapped file, which is generally exe and dll files. When required by the system, the commit memory is exchanged to the page file, and the memory occupied by the Code is exchanged to the corresponding executable file itself. Of course, if your dll is rebase or modified, and copy on write is triggered, a new content will be generated and exchanged to pagefile.Page Fault Delta: the total number of page fault occurrences per second. page fault refers to the number of times the accessed Virtual Memory Page does not exist in the process work set and needs to be obtained from the memory standby list, or load data from the disk. The former is soft page fault, and the latter is hard page fault, which takes a long time.
Page Read Delta: the number of pages Read from the disk per second.
Paging File Write Delta: Number of pages written to page file per second
Mapped File Write Delta: the number of pages written to the mapped file per second, such as exe and dll.
When the system physical memory is insufficient, the data will become very large, which is a signal of the system thrash.
- CPU and I/O
Context Switch Delta: the number of times the thread context switch is performed per second.
I/O Read Delta: the number of inputs per second. I/O includes input and output of disks, networks, and devices.
I/O Write Delta: number of outputs per second,
I/O Other Delta: I/O operations that do not include data, such as controlling the operation speed.
Copy-paste is about mb. rmvb or. avi, And the read delta and write delta changes can be observed obviously.
Now, the question raised at the beginning of this article is clear:
Note:
Many terms, such as private bytes and paged pool, can be seen in performance monitor.