<ins id='5xrbn'></ins>
<fieldset id='5xrbn'></fieldset>
<i id='5xrbn'></i>

  • <tr id='5xrbn'><strong id='5xrbn'></strong><small id='5xrbn'></small><button id='5xrbn'></button><li id='5xrbn'><noscript id='5xrbn'><big id='5xrbn'></big><dt id='5xrbn'></dt></noscript></li></tr><ol id='5xrbn'><table id='5xrbn'><blockquote id='5xrbn'><tbody id='5xrbn'></tbody></blockquote></table></ol><u id='5xrbn'></u><kbd id='5xrbn'><kbd id='5xrbn'></kbd></kbd>
    1. <dl id='5xrbn'></dl>

        <code id='5xrbn'><strong id='5xrbn'></strong></code>
        1. <acronym id='5xrbn'><em id='5xrbn'></em><td id='5xrbn'><div id='5xrbn'></div></td></acronym><address id='5xrbn'><big id='5xrbn'><big id='5xrbn'></big><legend id='5xrbn'></legend></big></address><span id='5xrbn'></span>

          1. <i id='5xrbn'><div id='5xrbn'><ins id='5xrbn'></ins></div></i>

            linux中cpu的利用率获取方法

            • 时间:
            • 浏览:12
            • 来源:124软件资讯网

              proc文件系统是一个伪文件系统  ,它只存在内存当中 ,而不占用外存空间  。它以文件系统的方式为会见系统内核数据的操作提供接口  。用户和应用法式可以通过proc获得系统的信息 ,并可以改变内核的某些参数  。"

                这里将先容怎样从/proc文件系统中获取与防火墙相关的一些性能参数 ,以及怎样通过/proc文件系统修改内核的相关设置 。

                1、从/proc文件系统获取相关的性能参数

                cpu使用率: /proc/stat

                内存使用情形: /proc/meminfo

                网络负载信息: /proc/net/dev

                响应的盘算要领:(摘自:什么是proc文件系统 ,见参考资料)

                (1) 处置惩罚器使用率

                (2) 内存使用率

                (3) 流入流出数据包

                (4) 整体网络负载

                这些数据划分要从/proc/stat、/proc/net/dev、/proc/meminfo三个文件中提取  。如里有问题或对要提取的数据不太清晰  ,可以使用man proc来检察proc文件系统的联机手册 。

                (1) 处置惩罚器使用率

                这里要从/proc/stat中提取四个数据:用户模式(user)、低优先级的用户模式(nice)、内核模式(system)以及空闲的处置惩罚器时间(idle)  。它们均位于/proc/stat文件的第一行 。CPU的使用率使用如下公式来盘算  。

                CPU使用率 = 100 *(user + nice + system)/(user + nice + system + idle)

                (2) 内存使用率

                这里需要从/proc/meminfo文件中提取两个数据  ,当前内存的使用量(cmem)以及内存总量(amem)  。

                内存使用百分比 = 100 * (cmem / umem)

                (3)网络使用率

                为了获得网络使用率的相关数据  ,需要从/proc/net/dev文件中获得两个数据:从本机输出的数据包数  ,流入本机的数据包数  。它们都位于这个文件的第四行  。

                性能网络法式最先记载下这两个数据的初始值  ,以后每次获得这个值后均减去这个初始值即为从集群启动最先从本节点通过的数据包  。

                使用上述数据盘算出网络的平均负载 ,要领如下:

                平均网络负载 = (输出的数据包+流入的数据包) / 2

                2. 通过/proc文件系统调整相关的内核设置

                允许ip转发 /proc/sys/net/ipv4/ip_forward

                克制ping /proc/sys/net/ipv4/icmp_echo_ignore_all

                可以在下令行下直接往上述两个“文件”里头写入"1"来实现相关设置  ,若是写入"0"将作废相关设置  。不外在系统重启以后 ,这些设置将恢复默认设置 ,以是  ,若是想让这些修改生效  ,可以把下面的设置直接写入/etc/profile文件  ,或者其他随系统启动而执行的法式文件中  。

                echo 1 > /proc/sys/net/ipv4/ip_forward

                echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all

                若是需要获取其他的性能参数  ,或者需要对内核举行更多的设置  ,可以参考下面链接中的proc文件系统先容  ,也可以直接通过man proc检察相关的信息  。

                参考资料和相关链接

                [1] 什么是proc文件系统

                http://blog.chinaunix.net/u1/37836/showart_304248.html

                [2] Linux下怎样获取cpu的使用率

                http://topic.csdn.net/t/20060701/23/4855045.html

                [3] Exploring the /proc/net/ Directory

                linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html?page=1">http://www.linuxdevcenter.com/pub/a/linux/2000/11/16/LinuxAdmin.html?page=1

                [4] /proc/net introduction

                http://www.redhat.com/docs/manuals/enterprise/RHEL-4-Manual/en-US/Reference_Guide/s2-proc-dir-net.html

                [5] 使用ulimit和proc去调整系统参数

                http://www.linuxfly.org/post/73.htm

                注:文件内里是一个增量  ,每过一个时间距离对应的项使用了CPU都市有增添  ,要算百分比  ,得用上上一次的状态值.

                这里盘算cpu使用率是有问题的  ,需要使用上一状态的值来盘算 。

                返回

                elf 揭晓于 2007-11-16 09:06 #4

                准确的盘算要领是  ,等上一个时间:

                1、记载某个时刻cpu的使用情形

                2、等上一个时间段

                3、再记载现在的cpu使用情形

                4、盘算总的时间片

              123下一页