[Home](https://kellyjonbrazil.github.io/jc/)
# jc.parsers.proc_zoneinfo
jc - JSON Convert `/proc/zoneinfo` file parser
Usage (cli):
$ cat /proc/zoneinfo | jc --proc
or
$ jc /proc/zoneinfo
or
$ cat /proc/zoneinfo | jc --proc-zoneinfo
Usage (module):
import jc
result = jc.parse('proc', proc_zoneinfo_file)
or
import jc
result = jc.parse('proc_zoneinfo', proc_zoneinfo_file)
Schema:
All values are integers.
[
{
"node": integer,
"": {
"pages": {
"free": integer,
"min": integer,
"low": integer,
"high": integer,
"spanned": integer,
"present": integer,
"managed": integer,
"protection": [
integer
],
"": integer
},
"pagesets": [
{
"cpu": integer,
"count": integer,
"high": integer,
"batch": integer,
"vm stats threshold": integer,
"": integer
}
]
},
"": integer, # [0]
}
]
[0] per-node stats
Examples:
$ cat /proc/zoneinfo | jc --proc -p
[
{
"node": 0,
"DMA": {
"pages": {
"free": 3832,
"min": 68,
"low": 85,
"high": 102,
"spanned": 4095,
"present": 3997,
"managed": 3976,
"protection": [
0,
2871,
3795,
3795,
3795
],
"nr_free_pages": 3832,
"nr_zone_inactive_anon": 0,
"nr_zone_active_anon": 0,
"nr_zone_inactive_file": 0,
"nr_zone_active_file": 0,
"nr_zone_unevictable": 0,
"nr_zone_write_pending": 0,
"nr_mlock": 0,
"nr_page_table_pages": 0,
"nr_kernel_stack": 0,
"nr_bounce": 0,
"nr_zspages": 0,
"nr_free_cma": 0,
"numa_hit": 3,
"numa_miss": 0,
"numa_foreign": 0,
"numa_interleave": 1,
"numa_local": 3,
"numa_other": 0
},
"pagesets": [
{
"cpu": 0,
"count": 0,
"high": 0,
"batch": 1,
"vm stats threshold": 4
},
{
"cpu": 1,
"count": 0,
"high": 0,
"batch": 1,
"vm stats threshold": 4,
"node_unreclaimable": 0,
"start_pfn": 1
}
]
},
"nr_inactive_anon": 39,
"nr_active_anon": 34839,
"nr_inactive_file": 104172,
"nr_active_file": 130748,
"nr_unevictable": 4897,
"nr_slab_reclaimable": 49017,
"nr_slab_unreclaimable": 26177,
"nr_isolated_anon": 0,
"nr_isolated_file": 0,
"workingset_nodes": 0,
"workingset_refault": 0,
"workingset_activate": 0,
"workingset_restore": 0,
"workingset_nodereclaim": 0,
"nr_anon_pages": 40299,
"nr_mapped": 25140,
"nr_file_pages": 234396,
"nr_dirty": 0,
"nr_writeback": 0,
"nr_writeback_temp": 0,
"nr_shmem": 395,
"nr_shmem_hugepages": 0,
"nr_shmem_pmdmapped": 0,
"nr_file_hugepages": 0,
"nr_file_pmdmapped": 0,
"nr_anon_transparent_hugepages": 0,
"nr_vmscan_write": 0,
"nr_vmscan_immediate_reclaim": 0,
"nr_dirtied": 168223,
"nr_written": 144616,
"nr_kernel_misc_reclaimable": 0,
"nr_foll_pin_acquired": 0,
"nr_foll_pin_released": 0,
"DMA32": {
"pages": {
"free": 606010,
"min": 12729,
"low": 15911,
"high": 19093,
"spanned": 1044480,
"present": 782288,
"managed": 758708,
"protection": [
0,
0,
924,
924,
924
],
"nr_free_pages": 606010,
"nr_zone_inactive_anon": 4,
"nr_zone_active_anon": 17380,
"nr_zone_inactive_file": 41785,
"nr_zone_active_file": 64545,
"nr_zone_unevictable": 5,
"nr_zone_write_pending": 0,
"nr_mlock": 5,
"nr_page_table_pages": 101,
"nr_kernel_stack": 224,
"nr_bounce": 0,
"nr_zspages": 0,
"nr_free_cma": 0,
"numa_hit": 576595,
"numa_miss": 0,
"numa_foreign": 0,
"numa_interleave": 2,
"numa_local": 576595,
"numa_other": 0
},
"pagesets": [
{
"cpu": 0,
"count": 253,
"high": 378,
"batch": 63,
"vm stats threshold": 24
},
{
"cpu": 1,
"count": 243,
"high": 378,
"batch": 63,
"vm stats threshold": 24,
"node_unreclaimable": 0,
"start_pfn": 4096
}
]
},
"Normal": {
"pages": {
"free": 5113,
"min": 4097,
"low": 5121,
"high": 6145,
"spanned": 262144,
"present": 262144,
"managed": 236634,
"protection": [
0,
0,
0,
0,
0
],
"nr_free_pages": 5113,
"nr_zone_inactive_anon": 35,
"nr_zone_active_anon": 17459,
"nr_zone_inactive_file": 62387,
"nr_zone_active_file": 66203,
"nr_zone_unevictable": 4892,
"nr_zone_write_pending": 0,
"nr_mlock": 4892,
"nr_page_table_pages": 447,
"nr_kernel_stack": 5760,
"nr_bounce": 0,
"nr_zspages": 0,
"nr_free_cma": 0,
"numa_hit": 1338441,
"numa_miss": 0,
"numa_foreign": 0,
"numa_interleave": 66037,
"numa_local": 1338441,
"numa_other": 0
},
"pagesets": [
{
"cpu": 0,
"count": 340,
"high": 378,
"batch": 63,
"vm stats threshold": 16
},
{
"cpu": 1,
"count": 174,
"high": 378,
"batch": 63,
"vm stats threshold": 16,
"node_unreclaimable": 0,
"start_pfn": 1048576
}
]
},
"Movable": {
"pages": {
"free": 0,
"min": 0,
"low": 0,
"high": 0,
"spanned": 0,
"present": 0,
"managed": 0,
"protection": [
0,
0,
0,
0,
0
]
}
},
"Device": {
"pages": {
"free": 0,
"min": 0,
"low": 0,
"high": 0,
"spanned": 0,
"present": 0,
"managed": 0,
"protection": [
0,
0,
0,
0,
0
]
}
}
}
]
### parse
```python
def parse(data: str, raw: bool = False, quiet: bool = False) -> List[Dict]
```
Main text parsing function
Parameters:
data: (string) text data to parse
raw: (boolean) unprocessed output if True
quiet: (boolean) suppress warning messages if True
Returns:
List of Dictionaries. Raw or processed structured data.
### Parser Information
Compatibility: linux
Source: [`jc/parsers/proc_zoneinfo.py`](https://github.com/kellyjonbrazil/jc/blob/master/jc/parsers/proc_zoneinfo.py)
Version 1.0 by Kelly Brazil (kellyjonbrazil@gmail.com)