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.
16 - *sysfs interface.*
23 - *debugfs interface. (DEPRECATED!)*
28 linux-mm@kvack.org.
29 - *Kernel Space Programming Interface.*
46 For a short example, users can monitor the virtual address space of a given
57 ---------------
60 figure, parents-children relations are represented with indentations, each
84 │ │ │ │ │ │ │ quotas/ms,bytes,reset_interval_ms
98 ----
106 ---------
108 The monitoring-related information including request specifications and results
115 of child directories named ``0`` to ``N-1``. Each directory represents each
119 -------------
129 for each DAMON-based operation scheme of the kdamond. For details of the
133 DAMON-based operation scheme action tried regions directory for each
134 DAMON-based operation scheme of the kdamond. Writing
137 ``clear_schemes_tried_regions`` to ``state`` file clears the DAMON-based
138 operating scheme action tried regions directory for each DAMON-based operation
139 scheme of the kdamond. For details of the DAMON-based operation scheme action
149 ----------------------
153 ``0`` to ``N-1``. Each directory represents each monitoring context. At the
160 -------------
172 - vaddr: Monitor virtual address spaces of specific processes
173 - fvaddr: Monitor fixed virtual address ranges
174 - paddr: Monitor the physical address space of the system
187 ------------------------------
194 Under ``intervals`` directory, three files for DAMON's sampling interval
195 (``sample_us``), aggregation interval (``aggr_us``), and update interval
196 (``update_us``) exist. You can set and get the values in micro-seconds by
199 Under ``nr_regions`` directory, two files for the lower-bound and upper-bound
208 ---------------------
212 to ``N-1``. Each directory represents each monitoring target.
215 ------------
227 -------------------
246 to ``N-1``. Each directory represents each initial monitoring target region.
249 ------------
259 ---------------------
261 The directory for DAMON-based Operation Schemes (:ref:`DAMOS
267 to ``N-1``. Each directory represents each DAMON-based operation scheme.
270 ------------
283 - ``willneed``: Call ``madvise()`` for the region with ``MADV_WILLNEED``.
285 - ``cold``: Call ``madvise()`` for the region with ``MADV_COLD``.
287 - ``pageout``: Call ``madvise()`` for the region with ``MADV_PAGEOUT``.
289 - ``hugepage``: Call ``madvise()`` for the region with ``MADV_HUGEPAGE``.
291 - ``nohugepage``: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``.
293 - ``lru_prio``: Prioritize the region on its LRU lists.
295 - ``lru_deprio``: Deprioritize the region on its LRU lists.
297 - ``stat``: Do nothing but count the statistics.
301 ---------------------------
304 <damon_design_damos_access_pattern>` of the given DAMON-based operation scheme.
311 and the ``max`` form a closed interval.
314 -------------------
317 DAMON-based operation scheme.
319 Under ``quotas`` directory, three files (``ms``, ``bytes``,
324 ``reset interval`` in milliseconds by writing the values to the three files,
328 ``reset_interval_ms``. Setting both ``ms`` and ``bytes`` zero disables the
333 in per-thousand unit by writing the values to the three files under the
337 -----------------------
340 given DAMON-based operation scheme.
343 ``high``, ``mid``, and ``low``) for setting the metric, the time interval
350 - none: Ignore the watermarks
351 - free_mem_rate: System's free memory rate (per thousand)
353 The ``interval`` should written in microseconds unit.
356 --------------------
359 DAMON-based operation scheme.
363 to ``N-1``. Each directory represents each filter. The filters are evaluated
370 open-ended interval), or ``target`` for specific DAMON monitoring target
382 For example, below restricts a DAMOS action to be applied to only non-anonymous
406 ------------------
423 --------------------------
433 this directory, during next :ref:`aggregation interval
446 and query-like efficient data access monitoring results retrievals. For the
451 ------------------
456 DAMON-based operation scheme ``action`` has tried to be applied.
462 8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate
463 interval in [10, 20], page out the region. For the paging out, use only up to
464 10ms per second, and also don't page out more than 1GiB per second. Under the
484 # echo 10 > quotas/ms
510 linux-mm@kvack.org.
518 ----------
520 Users can get and set the ``sampling interval``, ``aggregation interval``,
521 ``update interval``, and min/max number of monitoring target regions by
524 example, below commands set those values to 5 ms, 100 ms, 1,000 ms, 10 and
534 ----------
550 Users can also monitor the physical memory address space of the system by
564 ---------------------------------
570 file-mapped area. Or, some users can know the initial access pattern of their
587 example, below commands will set a couple of address ranges, ``1-100`` and
588 ``100-200`` as the initial monitoring target region of pid 42, which is the
590 ranges, ``20-40`` and ``50-100`` as that of pid 4242, which is the second one
603 regions after one ``update interval``. Therefore, users should set the
604 ``update interval`` large enough in this case, if they don't want the
609 -------
611 Users can get and set the DAMON-based operation :ref:`schemes
627 min-size max-size min-acc max-acc min-age max-age
629 Specifically, bytes for the size of regions (``min-size`` and ``max-size``),
630 number of monitored accesses per aggregate interval for access frequency
631 (``min-acc`` and ``max-acc``), number of aggregate intervals for the age of
632 regions (``min-age`` and ``max-age``) are specified. Note that the ranges are
633 closed interval.
642 - 0: Call ``madvise()`` for the region with ``MADV_WILLNEED``. Ignored if
644 - 1: Call ``madvise()`` for the region with ``MADV_COLD``. Ignored if
646 - 2: Call ``madvise()`` for the region with ``MADV_PAGEOUT``.
647 - 3: Call ``madvise()`` for the region with ``MADV_HUGEPAGE``. Ignored if
649 - 4: Call ``madvise()`` for the region with ``MADV_NOHUGEPAGE``. Ignored if
651 - 5: Do nothing but count the statistics
659 <ms> <sz> <reset interval> <priority weights>
661 This makes DAMON to try to use only up to ``<ms>`` milliseconds for applying
663 ``<reset interval>`` milliseconds, and to apply the action to only up to
664 ``<sz>`` bytes of memory regions within the ``<reset interval>``. Setting both
665 ``<ms>`` and ``<sz>`` zero disables the quota limits.
679 <metric> <check interval> <high mark> <middle mark> <low mark>
684 - 0: Ignore the watermarks
685 - 1: System's free memory rate (per thousand)
687 The value of the metric is checked every ``<check interval>`` microseconds.
711 8KiB] is showing accesses per aggregate interval in [0, 5] for aggregate
712 interval in [10, 20], page out the region. For the paging out, use only up to
713 10ms per second, and also don't page out more than 1GiB per second. Under the
728 --------------
744 Please note that you cannot write to the above-mentioned debugfs files while
746 an error code such as ``-EBUSY`` will be returned.
750 ---------------------
767 ---------------------------------
808 # perf record -e damon:damon_aggregated &