Solaris 10 – 区域中的Oracle 11G 运行mpstat,我注意到一个CPU在5秒内每5秒钟100%使用,而所有其他的CPU都很好,在使用,但很好地传播。 1 0 0 0 1154 1 1599 20 105 34 0 7416 9 15 0 76 2 95 0 120 1590 483 1727 33 124 27 0 8069 16 6 0 78 3 128 0 0 861 9 1333 18 96 34 0 6344 9 3 0 88 4 […]
我有一台运行Digital Ocean的Debian 7 x64机器,每隔30分钟CPU使用率为1分钟。 几天前,它在那里呆了几个小时,所以服务器最终崩溃,我不得不修复我的Mysql数据库。 服务器是运行apache2和Mysql的纯Web服务器。 我试图跟踪哪些进程使用CPU,但没有运气。 我使用的脚本: #!/bin/sh while true; do ps -A -eo pcpu,pid,user,args | sort -k 1 -r | head -3 >> proclog.txt; echo "\n" >> proclog.txt; sleep 2; done 在这种情况发生时,我也在监视htop,但是尽pipehtop的cpu显示为100%,但是最高处理器的CPU使用率并没有达到约15%。 htop被configuration为显示所有用户的进程,用户和内核线程。 编辑:通过在预期的100%使用率之前停止Apache2&Mysql,我可以告诉两者都不负责任。 无论如何都发生了100%的使用。 这就是过去几小时的图表:
我已经对MySQLconfiguration做了很多调整,但不幸的是,我总是会重新利用非常高的CPU。 多个MySQL进程部分在200-750%的CPU / RAM的使用率是50%左右。 系统信息: 根:HP ProLiant DL120 1Gbps / Intel四核至强X3440 – 16GB Ram / Ubuntu服务器操作系统 有3个数据库(3个站点),每个数据库有16个表| DB_1 = 35MB – 560MB DB_2 = – = DB_3 3,4GB 网站被优化(数据库查询/caching等)| 每天访问者每天约15K /天 在根目录下只运行Nginx + PHP5-FPM和mySQL,而且所有的8个处理器都被完全重载。 MySQLTuner版本: >> MySQLTuner 1.1.1 – Major Hayden <[email protected]> >> Bug reports, feature requests, and downloads at http://mysqltuner.com/ >> Run with '–help' […]
我一直在使用优秀的atop来详细检查负载testing的影响,而顶部(系统范围)部分中的SystemLevel / CPU指标与底部(每个进程)部分中的ProcessLevel / CPU指标之间的区别我感到困惑。 我知道类似的问题,但我还没有find一个解释使用我已经理解的上下文。 1.是可用容量的百分比,还是已用容量的百分比? ProcessLevel / CPU指标在联机帮助页中描述为“此系统级上与此资源的可用容量相关的此过程的占用率”。 与此相对照: ProcessLevel / DSK(“该进程的占用率与所有进程产生的总负载有关(即最后一个时间间隔期间所有进程的磁盘访问总数)”)和 (“自上次屏幕更新以来CPU时间所占的份额,占CPU总时间的百分比”)。 这两者似乎都是指与“…… 使用的能力……”有关的占有率,与“…… 可用能力……”有很大的不同。 假设手册页描述是正确的… 2.什么是“可用容量”? 如果真的在监测“可用容量”,这是什么意思? 下图显示了当CPU处于43%空闲状态时,ProcessLevel / CPU处于97%的状态,似乎表明它不能与SystemLevel / CPU最大值紧密相关。 它可能是考虑到磁盘或networking等待时间? 3.怎么可能> 100%? 这只是统计/抽样误差? 它是否与顶级的%CPU一样受到“100%= 1最大CPU”的影响? 如果是这样,我们的单线程pal节点如何在下面的最终示例中使用> 100%? 说明性的样品 作为例子(可能会打开更多的节点/ xen / aws蠕虫,在这种情况下抱歉,但我仍然欣赏SF的智慧,并且很高兴产生其他问题)… 我正在testing的节点应用程序(也是优秀的vegeta)以10req / s的速率在4-CPU AWS实例上愉快地处理特定的uploady请求types。 在此负载下,节点的ProcessLevel / CPU约为69%: CPU sys: 73% | user: 155% | irq: 6% […]
假设以下设置:系统(Ubuntu 14.04 LTS),具有40个内核,大量RAM。 另外一个只有部分multithreading的程序。 也就是说,它不断地在多个核心上运行数小时,然后只在一个核心上运行(也是几个小时)。 我想通过并行运行该程序来最大限度地提高该机器的CPU利用率,例如10次,但是我真的想要防止出现 所有10个实例都希望并行运行在全部40个内核上(可怕的caching垃圾) 我告诉每个实例,最多使用4个内核,但是有些情况下,其中9个是单核使用,十分之一可以暂时使用所有内核,但是不能使用,因为它只允许使用4个内核。 问题是:是否有公用事业/操作系统扩展,允许? 使用“renice”并不完全是需要的,尽pipe如果有一个自动的主pipe允许dynamic地renice进程,可能会非常接近。 理想情况下,它可以这样工作:只要一组程序不能最大化给定的CPU资源,就可以获得尽可能多的CPU资源。 但是,如果他们使用更多,那么具有最长运行时间(或其他)的程序将获得CPU的最高优先级,最终会使其他实例挨饿。 我发现的最接近的是控制组(cgexec和朋友),但是从我所知道的只能定义具有固定CPU比率的程序组,例如,组中的程序最多可以使用60%的CPU(即使其他40%是未使用的),并且无法阻止所有进程得到某些东西(再次,垃圾CPUcaching)。
我正在寻找一种在Linux上检查驱动程序的方法。 在Windows上,我一直在使用KernRate,它随着时间的推移给了我CPU%。 我想知道的是每个驱动程序的CPU%和MemFootPrint,如顶部,但对于驱动程序。 我应该使用什么工具?
我有一个postgresql服务器进程在我的Windows电脑上运行。 在运行查询时,我可以在进程pipe理器中看到,它在双核处理器上使用了49%的CPU容量,同时它也读取了大约5 mb / s的数据。 我的问题是,如果有可能得出这个过程是CPU限制的结论? 对我来说,它并不明显,它不需要CPU从磁盘读取。
首先,如果我没有包含足够的信息来正确排除这个问题,我很抱歉。 这种事情不是我的专长,所以这是一个学习的过程。 如果有什么我需要提供,请让我知道,我会很乐意尽我所能。 与我的问题相关的图像在这篇文章的底部。 我们正在处理四个WebLogic 9.2 Java应用程序服务器的集群环境。 该集群采用循环加载algorithm。 其他细节包括: Java(TM)2运行环境,标准版(build 1.5.0_12-b04) BEA JRockit(R)(构buildR27.4.0-90_CR352234-91983-1.5.0_12-20071115-1605-linux-x86_64,编译模式) 基本上,我开始关注服务器的性能,因为我们的客户在一天中的不同时间都看到很多延迟。 我们的服务器应该很容易地处理它们给出的负载,所以不清楚发生了什么事情。 使用惠普性能pipe理器,我生成了一些图表,表明CPU使用率完全不合时宜。 看来,在任何给定的点,一个或多个服务器的CPU利用率超过50%。 我知道这不是特别高,但是我认为这是一个基于WebLogic集群中其他服务器的CPU利用率的红旗。 有趣的事情要注意: CPU使用率高仅在server02上发生了几个星期。 服务器崩溃(极其罕见;我们不确定是否与此相关),并且在启动备份时,所有4台服务器的CPU利用率都是正常的。 我们昨天在2/28重新启动了所有4个托pipe服务器和应用程序服务器(在server01上)。 正如你所看到的,server03和server04拿起之前在server02上看到的行为。 CPU利用率是应用程序用户拥有的Java进程(appown)。 所有服务器的事务数量都是一致的。 似乎没有任何一台服务器实际上处理的是另一台服务器。 如果任何人有任何想法,或者至less可以把我指向正确的方向,这将是伟大的。 再次,请让我知道,如果有任何额外的信息,我应该发布。 谢谢!
最近,我清除了我的网站的caching文件,现在MySQL正在吃掉高达100%的CPU。 它在5分钟内从10%缓慢增长到100%,服务器崩溃。 幸运的是,我通过#service mysql stop停止了服务,但每次打开服务,它都开始吃掉CPU。 这里是错误日志: #/usr/bin/mysqld_safe –datadir=/var/lib/mysql –pid-file=/var/lib/mysql/dev.system.de.pid 101112 18:22:03 mysqld_safe Starting mysqld daemon with databases from /var/lib/mysql 101112 18:22:03 [Warning] option 'innodb-additional-mem-pool-size': signed value 204800 adjusted to 524288 101112 18:22:03 [Warning] option 'innodb-log-buffer-size': signed value 204800 adjusted to 262144 101112 18:22:03 [Note] Plugin 'ndbcluster' is disabled. 101112 18:22:03 InnoDB: Started; log sequence number […]
我有三个进程在Intel Core 2 Duo CPU上运行。 从观看“top”的输出和CPU负载图(通过MRTG,通过SNMP收集数据)的graphics,我可以看到CPU负载不会超过50%,并且在大多数情况下,当这些进程忙于CPU负载50%的上限。 我的意思是,CPU负载在早上增长到50%,并在那里呆到深夜。 我的第一个想法是,只有一个核心使用100%,从而给两个CPU的50%。 但是,由于有三个进程正在运行,而且从“顶部”运行,所以我看到两个核心都正在加载,所以情况并非如此。 schedtool显示这三个进程的CPU关联默认为0x03,允许它们使用两个内核。 如果我强制一个进程到一个核心(schedtool -a 0x01),另外两个进程(schedtool -a 0x02),则累积使用量增长超过50%。 为什么三个进程似乎只消耗两个内核的50%? 为什么强迫他们到不同的CPU允许使用增长? 任何提示? 有问题的PS进程是反恐精英服务器。