• Linux环境-日志&资源和限制


    日志,用于记录程序的活动,错误指示、警告或是与系统有关的一般信息。

    /usr/adm 或 /var/log目录。

    文件/var/log/messages包含所有的系统信息

    文件/var/log/mail包含所有的邮件系统日志信息

    文件/var/log/debug包含调试信息

    UNIX规范通过syslog函数为所有程序产生日志信息提供了一个接口

    priority 指定本条日志的优先级,该参数是 facility(由openlog在日志写入前设定)与严重级别的按位或。

    日志包含消息头(设施值facility与实践)和消息体(message参数),message参数类似于printf的格式字符串。转换控制符%m可以用于插入与错误变量errno当前值对应的出错消息字符串。

       

    eg.程序不会再控制台上输出,但是会在日志中记录程序执行以及程序输出的错误信息(打开一个不存在的文件)

    一些改变日志信息的其他函数,char *iddent,可以用来标识是哪个程序产生的日志文件,字符串将会添加在日志信息前面.facility参数记录被syslog()调用的默认设施值,logopt参数对后续syslog调用的行为进行配置,是表中多个参数的按位或。

    openlog()函数会打开一个文件描述符,可以用closelog()关闭,注意,在调用syslog之前不需要调用openlog(),它会自行打开日志设施。

    可以使用LOG_MASK(priority)为日志创建掩码 LOG_UPTO(priority)创建一个由指定优先级之上的所有优先级构成的掩码。

    资源和限制

    limits.h中定义了许多代表操作系统方面限制的显式常量

    头文件sys/resource.h提供了资源操作方面的定义,其中对程序长度、执行优先级和文件资源等方面的限制进行查询和设置

    id_t是一个整数类型,它用于用户和组标识符。rusage结构用来确定当前程序已经耗费了多少CPU时间

    每个运行的程序都有一个与之关联的优先级,优先级越高的程序将分配到更多的CPU可用时间

    普通用户只能降低其程序的优先级,而不能提高

    程序默认的优先级是0,正数优先级用于后台任务,他们只在没有比他们优先级还高的程序正在运行时才会被运行。负数使一个程序运行更频繁,获得更多的CPU时间。优先级的有效范围是-20~+20

    Linux系统资源限制

    getrlimit()和setrlimit(),两个函数都使用结构rlimit来描述资源限制。分为软、硬限制,rlim_t是一个整数类型,用来描述资源级别。

    软限制是一个建议性的,最好不要超过的限制,如果超越可能会导致库函数返回错误。

    硬限制如果被超越,则会使系统发送SIGSEGV信号。

    程序可以修改软限制为小于硬限制的任何值,它也可以减小自己的硬限制。但只有超级用户权限运行程序才可以增加硬限制。

      

  • 相关阅读:
    Codeigniter 控制器的继承问题
    laravel 安装
    js preventDefault() 方法
    jquery 获取$("#id").text()里面的值 需要进行去空格去换行符操作
    HDU_1394_线段树
    Codeforces_723_D
    Codeforces_723_C
    Codeforces_723_B
    Codeforces_723_A
    HDU_4456_二维树状数组
  • 原文地址:https://www.cnblogs.com/Mrwang-tju/p/12198489.html
Copyright © 2020-2023  润新知