<commit_before>
# `mecano.system_limits(options, [callback])`

Control system limits for a user.

## Options

*   `target` (string)   
    Where to write the file, default to "/etc/security/limits.d/#{options.user}.conf".   
*   `as` (int)   
    Address space limit (KB)   
*   `core` (int)   
    Limits the core file size (KB)   
*   `cpu`  (int)   
    CPU time limit (in seconds).   
    When the process reaches the soft limit, it receives a SIGXCPU every second.   
    When it reaches the hard limit, it receives SIGKILL.   
*   `data` (int)   
    Max data size (KB)   
*   `fsize` (int)   
    Maximum filesize (KB)   
*   `locks` (int)   
    Max number of file locks the user can hold.   
*   `maxlogins` (int)   
    Max number of logins for this user.   
*   `maxsyslogins` (int)   
    Max number of logins on the system.   
*   `memlock` (int)   
    Max locked-in-memory address space (KB)   
*   `msgqueue` (int)   
    Max memory used by POSIX message queues (bytes)   
*   `nice` (int: [-20, 19])   
    Max nice priority allowed to raise to values   
*   `nofile` (int)   
    Max number of open file descriptors   
*   `nproc` (int)   
    Max number of processes   
*   `priority` (int)   
    Priority to run user process with   
*   `rss` (int)   
    Max resident set size (KB)   
*   `sigpending` (int)   
    Max number of pending signals.   
*   `stack` (int)   
    Max stack size (KB)   
*   `rtprio` (int)   
    Max realtime priority.   

## Implemented strategy

### nproc and nofile

there is two cases, depending on the specified value
<commit_msg>core/system_limits: add missing configuration doc<commit_after>
# `mecano.system_limits(options, [callback])`

Control system limits for a user.

## Options

*   `target` (string)   
    Where to write the file, default to "/etc/security/limits.d/#{options.user}.conf".   
*   `as` (int)   
    Address space limit (KB)   
*   `core` (int)   
    Limits the core file size (KB)   
*   `cpu`  (int)   
    CPU time limit (in seconds).   
    When the process reaches the soft limit, it receives a SIGXCPU every second.   
    When it reaches the hard limit, it receives SIGKILL.   
*   `data` (int)   
    Max data size (KB)   
*   `fsize` (int)   
    Maximum filesize (KB)   
*   `locks` (int)   
    Max number of file locks the user can hold.   
*   `maxlogins` (int)   
    Max number of logins for this user.   
*   `maxsyslogins` (int)   
    Max number of logins on the system.   
*   `memlock` (int)   
    Max locked-in-memory address space (KB)   
*   `msgqueue` (int)   
    Max memory used by POSIX message queues (bytes)   
*   `nice` (int: [-20, 19])   
    Max nice priority allowed to raise to values   
*   `nofile` (int)   
    Max number of open file descriptors   
*   `nproc` (int)   
    Max number of processes   
*   `priority` (int)   
    Priority to run user process with   
*   `rss` (int)   
    Max resident set size (KB)   
*   `sigpending` (int)   
    Max number of pending signals.   
*   `stack` (int)   
    Max stack size (KB)   
*   `rtprio` (int)   
    Max realtime priority.   
*   `user` (string)   
    The user to apply the limit to   

## Implemented strategy

### nproc and nofile

there is two cases, depending on the specified value

{'fraction_non_alphanumeric': 0.10321592649310873, 'fraction_numerical': 0.002450229709035222, 'mean_word_length': 2.266, 'pattern_counts': {'":': 0, '<': 3, '<?xml version=': 0, '>': 3, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'dir': 'git-commits-cleaned', 'id': '7199344', 'n_tokens_mistral': 1112, 'n_tokens_neox': 1081, 'n_words': 399}