Lines Matching full:and
14 virtual and physical address spaces monitoring. For more detail, please
20 features by reading from and writing to special sysfs files. Therefore,
21 you can write and use your personalized DAMON sysfs wrapper programs that
24 supports both virtual and physical address spaces monitoring. Note that this
34 users can utilize every feature of DAMON most flexibly and efficiently by
45 creates multiple directories and files under its sysfs directory,
46 ``<sysfs>/kernel/mm/damon/``. You can control DAMON by writing to and reading
64 directory is having ``/`` suffix, and files in each directory are separated by
98 The root of the DAMON sysfs interface is ``<sysfs>/kernel/mm/damon/``, and it
106 The monitoring-related information including request specifications and results
108 called kdamond, and multiple kdamonds could run in parallel.
119 In each kdamond directory, two files (``state`` and ``pid``) and one directory
147 In each context directory, two files (``avail_operations`` and ``operations``)
148 and three directories (``monitoring_attrs``, ``targets``, and ``schemes``)
152 virtual address space and the physical address space. You can get the list of
165 You can set and get what type of monitoring operations DAMON will use for the
166 context by writing one of the keywords listed in ``avail_operations`` file and
173 and efficiency of the monitoring are in ``monitoring_attrs`` directory.
174 Specifically, two directories, ``intervals`` and ``nr_regions`` exist in this
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
180 writing to and reading from the files.
182 Under ``nr_regions`` directory, two files for the lower-bound and upper-bound
183 of DAMON's monitoring regions (``min`` and ``max``, respectively), which
184 controls the monitoring overhead, exist. You can set and get the values by
185 writing to and rading from the files.
187 For more details about the intervals and monitoring regions range, please refer
200 In each target directory, one file (``pid_target``) and one directory
213 the ``contexts/<N>/operations`` file), DAMON automatically sets and updates the
218 In contrast, DAMON do not automatically sets and updates the monitoring target
234 In each region directory, you will find two files (``start`` and ``end``). You
235 can set and get the start and end addresses of the initial monitoring target
236 region by writing to and reading from the files, respectively.
244 schemes from the user and applies those to the target memory regions. Users
245 can get and set the schemes by reading from and writing to files under this
256 ``watermarks``, and ``stats``) and one file (``action``) exist.
258 The ``action`` file is for setting and getting what action you want to apply to
260 that can be written to and read from the file and their meaning are as below.
276 monitored accesses per aggregate interval, and number of aggregated intervals
280 ``nr_accesses``, and ``age``) each having two files (``min`` and ``max``)
281 exist. You can set and get the access pattern for the given scheme by writing
282 to and reading from the ``min`` and ``max`` files under ``sz``,
283 ``nr_accesses``, and ``age`` directories, respectively.
290 can cause severe overhead. To avoid such overhead, users can limit time and
292 up to specific time (``time quota``) for applying the action, and to apply the
298 and age. For personalized prioritization, users can set the weights for the
302 ``reset_interval_ms``) and one directory (``weights``) having three files
303 (``sz_permil``, ``nr_accesses_permil``, and ``age_permil``) in it exist.
305 You can set the ``time quota`` in milliseconds, ``size quota`` in bytes, and
308 frequency, and age in per-thousand unit by writing the values to the three
314 To allow easy activation and deactivation of each scheme based on system
316 values called ``metric``, ``interval``, ``high``, ``mid``, and ``low``. The
323 ``high``, ``mid``, and ``low``) for setting each value exist. You can set and
326 Keywords and meanings of those that can be written to the ``metric`` file are
339 DAMON counts the total number and bytes of regions that each scheme is tried to
341 applied, and the total number of the quota limit exceeds. This statistics can
345 (``nr_tried``, ``sz_tried``, ``nr_applied``, ``sz_applied``, and
357 10ms per second, and also don't page out more than 1GiB per second. Under the
359 free memory rate of the system every 5 seconds, start the monitoring and paging
368 # # set the basic access pattern and the action
388 <https://github.com/awslabs/damo>`_ rather than manually reading and writing
402 ``schemes``, ``monitor_on``, ``kdamond_pid``, ``mk_contexts`` and
409 Users can get and set the ``sampling interval``, ``aggregation interval``,
410 ``update interval``, and min/max number of monitoring target regions by
411 reading from and writing to the ``attrs`` file. To know about the monitoring
413 example, below commands set those values to 5 ms, 100 ms, 1,000 ms, 10 and
414 1000, and then check it again::
428 the targets to, and get the ids of the current targets by reading from the
431 commands set processes having pids 42 and 4242 as the monitoring targets and
455 In case of the virtual address space monitoring, DAMON automatically sets and
460 workloads and therefore want to set optimal initial regions for the 'adaptive
463 In contrast, DAMON do not automatically sets and updates the monitoring target
474 starting from ``0``, and the regions should be passed in address order. For
475 example, below commands will set a couple of address ranges, ``1-100`` and
477 first one (index ``0``) in ``target_ids``, and another couple of address
478 ranges, ``20-40`` and ``50-100`` as that of pid 4242, which is the second one
502 schemes from the user and applies those to the target processes.
504 Users can get and set the schemes by reading from and writing to ``schemes``
521 Specifically, bytes for the size of regions (``min-size`` and ``max-size``),
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
532 supported numbers and their meanings are as below.
546 can cause severe overhead. To avoid such overhead, users can limit time and
553 ``<reset interval>`` milliseconds, and to apply the action to only up to
555 ``<ms>`` and ``<sz>`` zero disables the quota limits.
559 and age. For personalized prioritization, users can set the weights for the
574 supported numbers and their meanings are as below.
590 It also counts the total number and bytes of regions that each scheme is tried
592 applied, and the total number of the quota limit exceeds. This statistics can
596 will show each scheme you entered in each line, and the five numbers for the
605 10ms per second, and also don't page out more than 1GiB per second. Under the
607 free memory rate of the system every 5 seconds, start the monitoring and paging
612 # scheme="4096 8192 0 5 10 20 2" # target access pattern and action
623 start the monitoring. You can start, stop, and check the current status of the
624 monitoring by writing to and reading from the ``monitor_on`` file. Writing
627 process is terminated. Below example commands turn on, off, and check the
662 and remove monitoring contexts for multiple ``kdamond`` required use case using
663 the ``mk_contexts`` and ``rm_contexts`` files.
676 If the context is not needed anymore, you can remove it and the corresponding
683 Note that ``mk_contexts``, ``rm_contexts``, and ``monitor_on`` files are in the
694 record the tracepoint events and show results using tracepoint supporting tools