[ZBXNEXT-2225] system.swap.size[,pfree] broken on Windows Created: 2014 Mar 26 Updated: 2014 Apr 15 Resolved: 2014 Apr 10 |
|
| Status: | Closed |
| Project: | ZABBIX FEATURE REQUESTS |
| Component/s: | Agent (G) |
| Affects Version/s: | None |
| Fix Version/s: | 2.3.0 |
| Type: | New Feature Request | Priority: | Minor |
| Reporter: | Oleg Ivanivskyi | Assignee: | Unassigned |
| Resolution: | Fixed | Votes: | 0 |
| Labels: | swap, windows | ||
| Remaining Estimate: | Not Specified | ||
| Time Spent: | Not Specified | ||
| Original Estimate: | Not Specified | ||
| Environment: |
Zabbix agent 2.0.6, Zabbix agent 2.2.2 x64. |
||
| Issue Links: |
|
||||
| Description |
|
From debug log: At the same time, system.swap.size[,free] works. |
| Comments |
| Comment by Alexander Vladishev [ 2014 Mar 26 ] |
|
It's already documented. Zabbix does not support system.swap.size[pfree/pused] under Windows. Moved to ZBXNEXT. |
| Comment by Juris Miščenko (Inactive) [ 2014 Mar 31 ] |
|
Implemented in svn://svn.zabbix.com/branches/dev/ZBXNEXT-2225 |
| Comment by Andris Zeila [ 2014 Apr 07 ] |
|
Successfully tested |
| Comment by Juris Miščenko (Inactive) [ 2014 Apr 07 ] |
|
Implemented in 2.3.0 (trunk) r44094 |
| Comment by Aleksandrs Saveljevs [ 2014 Apr 08 ] |
|
(1) The ChangeLog entry should probably mention Windows. Otherwise, it implies that the change applies to all platforms. The entry should also not include "P" and "S" components, because the change is agent-only. jurism Will change upon remerging into upstream. |
| Comment by Aleksandrs Saveljevs [ 2014 Apr 08 ] |
|
(2) The change introduces bad formatting into variable declaration. jurism asaveljevs CLOSED. |
| Comment by Aleksandrs Saveljevs [ 2014 Apr 08 ] |
|
(3) In "pfree" calculation, it divides integer by integer, yielding either 0 or 100. jurism asaveljevs Good, but please see r44395 before merging. CLOSED. |
| Comment by Aleksandrs Saveljevs [ 2014 Apr 08 ] |
|
(4) It might be useful to clarify in swap.c comments what exactly the problems with Windows functions are. For instance, the second paragraph talks about "free memory size". Which API functions does it refer to? The functions we use (see documentation below) do not use the term "free". They talk about paging file, physical memory, and virtual memory.
The comment also talks about "special circumstances" and says "depending on the system and the environment". What are those circumstances and dependencies? jurism asaveljevs Andris Z. helped to improve the comment in r44422 (e.g., by clarifying that negative values do not come from Windows API functions, but arise as results of calculations). CLOSED. |
| Comment by Aleksandrs Saveljevs [ 2014 Apr 08 ] |
|
(5) According to the documentation on MEMORYSTATUSEX (see http://msdn.microsoft.com/en-us/library/windows/desktop/aa366770(v=vs.85).aspx), field "ullAvailPageFile" refers to the limit for the current process and suggests the use of GetPerformanceInfo() to get the system-wide limit. Why did we decide to use the process limit instead? wiper GetPerformanceInfo() is not available on Win2K, plus it returned 0 total physical memory on my virtual machine. asaveljevs CLOSED. |
| Comment by Juris Miščenko (Inactive) [ 2014 Apr 15 ] |
|
Implemented in 2.3.0 (trunk) r44444 |