Annotation of 43BSDReno/share/doc/ps1/06.sysman/1.6.t, revision 1.1

1.1     ! root        1: .\" Copyright (c) 1983 Regents of the University of California.
        !             2: .\" All rights reserved.  The Berkeley software License Agreement
        !             3: .\" specifies the terms and conditions for redistribution.
        !             4: .\"
        !             5: .\"    @(#)1.6.t       6.2 (Berkeley) 5/12/86
        !             6: .\"
        !             7: .sh "Resource controls
        !             8: .NH 3
        !             9: Process priorities
        !            10: .PP
        !            11: The system gives CPU scheduling priority to processes that have not used
        !            12: CPU time recently.  This tends to favor interactive processes and
        !            13: processes that execute only for short periods.
        !            14: It is possible to determine the priority currently
        !            15: assigned to a process, process group, or the processes of a specified user,
        !            16: or to alter this priority using the calls:
        !            17: .DS
        !            18: ._d
        !            19: #define        PRIO_PROCESS    0       /* process */
        !            20: #define        PRIO_PGRP       1       /* process group */
        !            21: #define        PRIO_USER       2       /* user id */
        !            22: 
        !            23: prio = getpriority(which, who);
        !            24: result int prio; int which, who;
        !            25: 
        !            26: setpriority(which, who, prio);
        !            27: int which, who, prio;
        !            28: .DE
        !            29: The value \fIprio\fP is in the range \-20 to 20.
        !            30: The default priority is 0; lower priorities cause more
        !            31: favorable execution.
        !            32: The \fIgetpriority\fP call returns the highest priority (lowest numerical value)
        !            33: enjoyed by any of the specified processes.
        !            34: The \fIsetpriority\fP call sets the priorities of all of the
        !            35: specified processes to the specified value.
        !            36: Only the super-user may lower priorities.
        !            37: .NH 3
        !            38: Resource utilization
        !            39: .PP
        !            40: The resources used by a process are returned by a \fIgetrusage\fP call,
        !            41: returning information in a structure defined in \fI<sys/resource.h>\fP:
        !            42: .DS
        !            43: ._d
        !            44: #define        RUSAGE_SELF     0               /* usage by this process */
        !            45: #define        RUSAGE_CHILDREN -1              /* usage by all children */
        !            46: 
        !            47: getrusage(who, rusage)
        !            48: int who; result struct rusage *rusage;
        !            49: 
        !            50: ._f
        !            51: struct rusage {
        !            52:        struct  timeval ru_utime;       /* user time used */
        !            53:        struct  timeval ru_stime;       /* system time used */
        !            54:        int     ru_maxrss;      /* maximum core resident set size: kbytes */
        !            55:        int     ru_ixrss;       /* integral shared memory size (kbytes*sec) */
        !            56:        int     ru_idrss;       /* unshared data memory size */
        !            57:        int     ru_isrss;       /* unshared stack memory size */
        !            58:        int     ru_minflt;      /* page-reclaims */
        !            59:        int     ru_majflt;      /* page faults */
        !            60:        int     ru_nswap;       /* swaps */
        !            61:        int     ru_inblock;     /* block input operations */
        !            62:        int     ru_oublock;     /* block output operations */
        !            63:        int     ru_msgsnd;      /* messages sent */
        !            64:        int     ru_msgrcv;      /* messages received */
        !            65:        int     ru_nsignals;    /* signals received */
        !            66:        int     ru_nvcsw;       /* voluntary context switches */
        !            67:        int     ru_nivcsw;      /* involuntary context switches */
        !            68: };
        !            69: .DE
        !            70: The \fIwho\fP parameter specifies whose resource usage is to be returned.
        !            71: The resources used by the current process, or by all
        !            72: the terminated children of the current process may be requested.
        !            73: .NH 3
        !            74: Resource limits
        !            75: .PP
        !            76: The resources of a process for which limits are controlled by the
        !            77: kernel are defined in \fI<sys/resource.h>\fP, and controlled by the
        !            78: \fIgetrlimit\fP and \fIsetrlimit\fP calls:
        !            79: .DS
        !            80: ._d
        !            81: #define        RLIMIT_CPU      0       /* cpu time in milliseconds */
        !            82: #define        RLIMIT_FSIZE    1       /* maximum file size */
        !            83: #define        RLIMIT_DATA     2       /* maximum data segment size */
        !            84: #define        RLIMIT_STACK    3       /* maximum stack segment size */
        !            85: #define        RLIMIT_CORE     4       /* maximum core file size */
        !            86: #define        RLIMIT_RSS      5       /* maximum resident set size */
        !            87: 
        !            88: #define        RLIM_NLIMITS    6
        !            89: 
        !            90: #define        RLIM_INFINITY   0x7f\&f\&f\&f\&f\&f\&f
        !            91: 
        !            92: ._f
        !            93: struct rlimit {
        !            94:        int     rlim_cur;       /* current (soft) limit */
        !            95:        int     rlim_max;       /* hard limit */
        !            96: };
        !            97: 
        !            98: getrlimit(resource, rlp)
        !            99: int resource; result struct rlimit *rlp;
        !           100: 
        !           101: setrlimit(resource, rlp)
        !           102: int resource; struct rlimit *rlp;
        !           103: .DE
        !           104: .PP
        !           105: Only the super-user can raise the maximum limits.
        !           106: Other users may only
        !           107: alter \fIrlim_cur\fP within the range from 0 to \fIrlim_max\fP
        !           108: or (irreversibly) lower \fIrlim_max\fP.

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.