Lines Matching +full:monitor +full:- +full:interval +full:- +full:ms
1 .. SPDX-License-Identifier: GPL-2.0
9 - *DAMON user space tool.*
11 system administrators who want a just-working human-friendly interface.
12 Using this, users can use the DAMON’s major features in a human-friendly way.
17 - *sysfs interface.*
28 - *debugfs interface.*
32 - *Kernel Space Programming Interface.*
49 For a short example, users can monitor the virtual address space of a given
60 ---------------
63 figure, parents-children relations are represented with indentations, each
87 │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms
96 ----
104 ---------
106 The monitoring-related information including request specifications and results
113 of child directories named ``0`` to ``N-1``. Each directory represents each
117 -------------
127 for each DAMON-based operation scheme of the kdamond. For details of the
136 ----------------------
140 ``0`` to ``N-1``. Each directory represents each monitoring context. At the
145 -------------
157 - vaddr: Monitor virtual address spaces of specific processes
158 - fvaddr: Monitor fixed virtual address ranges
159 - paddr: Monitor the physical address space of the system
170 ------------------------------
177 Under ``intervals`` directory, three files for DAMON's sampling interval
178 (``sample_us``), aggregation interval (``aggr_us``), and update interval
179 (``update_us``) exist. You can set and get the values in micro-seconds by
182 Under ``nr_regions`` directory, two files for the lower-bound and upper-bound
191 ---------------------
195 to ``N-1``. Each directory represents each monitoring target.
198 ------------
210 -------------------
229 to ``N-1``. Each directory represents each initial monitoring target region.
232 ------------
239 ---------------------
241 For usual DAMON-based data access aware memory management optimizations, users
250 to ``N-1``. Each directory represents each DAMON-based operation scheme.
253 ------------
262 - ``willneed``: Call ``madvise()`` for the region with ``MADV_WILLNEED``
263 - ``cold``: Call ``madvise()`` for the region with ``MADV_COLD``
264 - ``pageout``: Call ``madvise()`` for the region with ``MADV_PAGEOUT``
265 - ``hugepage``: Call ``madvise()`` for the region with ``MADV_HUGEPAGE``
266 - ``nohugepage``: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``
267 - ``lru_prio``: Prioritize the region on its LRU lists.
268 - ``lru_deprio``: Deprioritize the region on its LRU lists.
269 - ``stat``: Do nothing but count the statistics
272 ---------------------------
274 The target access pattern of each DAMON-based operation scheme is constructed
276 monitored accesses per aggregate interval, and number of aggregated intervals
286 -------------------
294 the target access pattern within a given time interval (``reset interval``).
301 Under ``quotas`` directory, three files (``ms``, ``bytes``,
306 ``reset interval`` in milliseconds by writing the values to the three files,
308 frequency, and age in per-thousand unit by writing the values to the three
312 -----------------------
316 values called ``metric``, ``interval``, ``high``, ``mid``, and ``low``. The
329 - none: Ignore the watermarks
330 - free_mem_rate: System's free memory rate (per thousand)
332 The ``interval`` should written in microseconds unit.
337 ------------------
355 8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate
356 interval in [10, 20], page out the region. For the paging out, use only up to
357 10ms per second, and also don't page out more than 1GiB per second. Under the
377 # echo 10 > quotas/ms
407 ----------
409 Users can get and set the ``sampling interval``, ``aggregation interval``,
410 ``update interval``, and min/max number of monitoring target regions by
413 example, below commands set those values to 5 ms, 100 ms, 1,000 ms, 10 and
423 ----------
439 Users can also monitor the physical memory address space of the system by
453 ---------------------------------
459 file-mapped area. Or, some users can know the initial access pattern of their
475 example, below commands will set a couple of address ranges, ``1-100`` and
476 ``100-200`` as the initial monitoring target region of pid 42, which is the
478 ranges, ``20-40`` and ``50-100`` as that of pid 4242, which is the second one
491 regions after one ``update interval``. Therefore, users should set the
492 ``update interval`` large enough in this case, if they don't want the
497 -------
499 For usual DAMON-based data access aware memory management optimizations, users
519 min-size max-size min-acc max-acc min-age max-age
521 Specifically, bytes for the size of regions (``min-size`` and ``max-size``),
522 number of monitored accesses per aggregate interval for access frequency
523 (``min-acc`` and ``max-acc``), number of aggregate intervals for the age of
524 regions (``min-age`` and ``max-age``) are specified. Note that the ranges are
525 closed interval.
534 - 0: Call ``madvise()`` for the region with ``MADV_WILLNEED``
535 - 1: Call ``madvise()`` for the region with ``MADV_COLD``
536 - 2: Call ``madvise()`` for the region with ``MADV_PAGEOUT``
537 - 3: Call ``madvise()`` for the region with ``MADV_HUGEPAGE``
538 - 4: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``
539 - 5: Do nothing but count the statistics
549 <ms> <sz> <reset interval> <priority weights>
551 This makes DAMON to try to use only up to ``<ms>`` milliseconds for applying
553 ``<reset interval>`` milliseconds, and to apply the action to only up to
554 ``<sz>`` bytes of memory regions within the ``<reset interval>``. Setting both
555 ``<ms>`` and ``<sz>`` zero disables the quota limits.
571 <metric> <check interval> <high mark> <middle mark> <low mark>
576 - 0: Ignore the watermarks
577 - 1: System's free memory rate (per thousand)
579 The value of the metric is checked every ``<check interval>`` microseconds.
603 8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate
604 interval in [10, 20], page out the region. For the paging out, use only up to
605 10ms per second, and also don't page out more than 1GiB per second. Under the
620 --------------
636 Please note that you cannot write to the above-mentioned debugfs files while
638 an error code such as ``-EBUSY`` will be returned.
642 ---------------------
659 ---------------------------------
698 # perf record -e damon:damon_aggregated &