zoukankan      html  css  js  c++  java
  • 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信号。

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

      

  • 相关阅读:
    js高级程序设计AJAX && JSON
    python核心高级学习总结7正则表达式
    python核心高级学习总结8动态性、__slots__、生成器、迭代器、装饰、闭包
    python核心高级学习总结3python实现进程的三种方式及其区别
    python核心高级学习总结6面向对象进阶之元类
    运维术语名词
    资源分享编程、数据库、安全、运维等
    python之Bug之字符串拼接bug
    CSS hack:实现IE6、IE7、Firefox兼容(转摘)
    (装载) Web开发技术的历史发展简介
  • 原文地址:https://www.cnblogs.com/Mrwang-tju/p/12198489.html
Copyright © 2011-2022 走看看