相关疑难解决方法(0)

为什么 Linux 奇怪地报告“空闲”内存?

这是一个关于 Unix 操作系统如何报告内存使用情况的规范问题
类似问题:

我有运行Debian 6.0.6 Squeeze 的生产服务器

#uname -a

Linux debsrv 2.6.32-5-xen-amd64 #1 SMP Sun Sep 23 13:49:30 UTC 2012 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

每天cron以 root 身份执行备份脚本:

#crontab -e

0 5 * * * /root/sites_backup.sh > /dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)

#nano /root/sites_backup.sh

Linux debsrv 2.6.32-5-xen-amd64 #1 SMP Sun Sep 23 13:49:30 UTC 2012 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

一切正常,但我注意到 Munin 的内存图显示备份后缓存缓冲区的增加。

然后我只是下载备份文件并删除它们。删除后 Munin 的内存图缓存缓冲区返回到备份前的状态。

这是穆宁图: …

linux unix memory-usage

45
推荐指数
2
解决办法
8245
查看次数

CPU 利用率高但平均负载低

我们遇到了一个奇怪的行为,我们看到 CPU 利用率很高,但平均负载很低。

我们监控系统的以下图表可以最好地说明这种行为。

CPU使用率和负载

在大约 11:57,CPU 利用率从 25% 上升到 75%。平均负载没有显着变化。

我们运行的服务器有 12 个内核,每个内核有 2 个超线程。操作系统将其视为 24 个 CPU。

CPU 利用率数据是通过/usr/bin/mpstat 60 1每分钟运行一次来收集的。all行和%usr列的数据显示在上面的图表中。我确信这确实显示了每个 CPU 数据的平均值,而不是“堆叠”利用率。虽然我们在图表中看到 75% 的利用率,但我们看到一个进程显示在top.

平均负载数字取自/proc/loadavg每分钟。

uname -a 给出:

Linux ab04 2.6.32-279.el6.x86_64 #1 SMP Wed Jun 13 18:24:36 EDT 2012 x86_64 x86_64 x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

Linux 发行版是 Red Hat Enterprise Linux Server release 6.3 (Santiago)

我们在机器上以相当高的负载运行几个 Java Web 应用程序,每台机器每秒 100 个请求。

如果我正确解释了 CPU 利用率数据,当我们有 75% 的 CPU 利用率时,这意味着我们的 …

linux troubleshooting cpu-usage load-average

38
推荐指数
4
解决办法
8万
查看次数

如何使用 vmstat 获取内存使用百分比?

我需要从 vmstat 中获取内存使用率,但我不太明白 vmstat 中显示的一些与内存相关的数字。

特别是,给定这样的输出

procs -----------memory---------- ---swap-- -----io---- --system-- -----cpu------
 r  b   swpd   free   buff  cache   si   so    bi    bo   in   cs us sy id wa st
 1  0 139728  45396 199128 1236360    1    2     4   622    3    1 51  4 43  2  0
Run Code Online (Sandbox Code Playgroud)

系统的总内存量是多少?是'swpd' + 'free' + 'buff' + 'cache',总共是1620612吗?

系统的可用内存量是多少?是否为 45396,如“免费”列中所示?

问题是它们不加起来,甚至看起来与“顶级”报告的内容不符。我与上面的 'vmstat's 几乎同时使用的 'top' 的输出是:

[...]
Mem:   4059616k total,  3965504k used,    94112k free,   200020k buffers
[...]
Run Code Online (Sandbox Code Playgroud)

所以......我假设'vmstat'中一定有我不知道的隐藏数字/选项?

为此,我需要使用 'vmstat' 而不是其他命令,因为这是要求的内容。

所以理想情况下,我想从 'vmstat' 实现的是内存使用百分比,如下所示:

<used_memory>/<total_memory> * …
Run Code Online (Sandbox Code Playgroud)

linux memory vmstat

9
推荐指数
1
解决办法
5万
查看次数

了解 Apache 服务器状态页面

以下是取自Apache 网站的示例服务器状态页面:

Current Time: Thursday, 01-May-2014 07:38:59 UTC
Restart Time: Friday, 11-Apr-2014 18:30:33 UTC
Parent Server Config. Generation: 27
Parent Server MPM Generation: 26
Server uptime: 19 days 13 hours 8 minutes 26 seconds
Server load: 4.90 5.10 5.39
Total accesses: 200912024 - Total Traffic: 24965.1 GB
CPU Usage: u5133.55 s2390.16 cu0 cs0 - .445% CPU load
119 requests/sec - 15.1 MB/second - 130.3 kB/request
351 requests currently being processed, 417 idle workers 
Run Code Online (Sandbox Code Playgroud)

我需要了解其中的值Server load代表什么,因为文档 …

apache-2.2 apache-2.4

6
推荐指数
1
解决办法
1万
查看次数

平均负载是什么意思?

可能的重复:
如何了解 linux 服务器中的内存使用情况和平均负载

我已经准备了许多试图解释平均负载的文章。迄今为止,没有人能把它解释得足够好,以至于我的大脑能够理解它。

请有人用最简单的术语解释平均负载的含义,以便任何人都可以理解并使用它。

linux unix

4
推荐指数
1
解决办法
7668
查看次数

用于高性能计算的 CPU 负载

在高性能计算的背景下,是否存在合理/安全的 CPU 负载水平?

我理解的意思平均负载在一般的服务器,但不知道会发生什么,建成并用于高性能计算服务器。

通常的约定是否load <= # of cores适用于这种环境?


鉴于我的系统特定详细信息,我很好奇,通常load >> # of cores每个节点:

  • 24 个物理内核,48 个虚拟内核的超线程(相对较新的硬件)
  • 平均负载:通常为 100-300

节点的正常运行时间很长,CPU 使用率/负载通常很高。很少有硬件故障,尤其是 CPU,但我不知道在给定高负载的节点的整个生命周期中会发生什么。

示例top输出:

top - 14:12:53 up 4 days,  5:45,  1 user,  load average: 313.33, 418.36, 522.87
Tasks: 501 total,   5 running, 496 sleeping,   0 stopped,   0 zombie
%Cpu(s): 33.5 us, 50.9 sy,  0.0 ni, 15.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
KiB Mem : 19650371+total, 46456320 …
Run Code Online (Sandbox Code Playgroud)

linux central-processing-unit cpu-usage high-load load-average

4
推荐指数
1
解决办法
219
查看次数

Linux:哪个进程消耗了所有内存?

我们的 linux 服务器上有 4GB,但我们目前只能使用 ~1.8GB 用于我们的 java 服务器,这是下面列出的第一个 java 进程。(200 MB 是免费的,所以我们可以最大使用 1.6GB + 0.2GB)

当我们使用更多时,机器会崩溃。所以我们指定 -Xmx1600m 和 -XX:MaxPermSize=200m 将服务器 RAM 限制为 1.8GB。但是我们需要更多的内存!剩下的内存去哪儿了?

这是根据内存使用情况排序的 top 程序输出(通过大“M”):

Mem:   4083952k total,  3857856k used,   226096k free,   169320k buffers
Swap:  2104504k total,      176k used,  2104328k free,  1939080k cached

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                                           
28155 root      16   0 1835m 1.6g 7848 S    2 40.5  47:36.26 java                                                                                              
19609 root      16   0 45996 7052 3148 S    0  0.2  14:35.97 httpd2-prefork …
Run Code Online (Sandbox Code Playgroud)

linux memory java

3
推荐指数
1
解决办法
2381
查看次数