5 mysql linux httpd centos apache-2.2
我在 Media Temple 托管的专用虚拟 16GB RAM CentOS 服务器上运行高流量网站。
服务器经常因为 CPU 使用率过高(%1500) 而死机
当我使用“top”命令检查正在运行的进程时,我看到有太多的 httpd 进程正在运行,我认为这导致了 CPU 的高使用率。
我试图调整 mysql、调整 apache、my.cnf、httpd.cnf,删除了我不使用但不能解决问题的 Apache 模块。
请让我知道您需要在我的服务器配置中了解哪些值,以帮助我诊断问题。
提前致谢。
tail -f /var/log/messages当您遇到高系统负载时会说什么?
您的进程是否非常 I/O 或非常 CPU 密集型?
一个观察:
看起来您有 18G 物理内存,但交换空间为零...,例如您的top命令显示“Swap: 0k total”...这意味着您没有配置任何交换空间。
通常,在 UNIX 系统上应该始终有足够的交换空间!交换大小 = 1...2 倍 RAM 大小是个好主意。使用快速分区是个好主意。如果您的 UNIX 系统耗尽 RAM 并且没有 Swap .. 进程莫名其妙地死亡.. 那是一件非常糟糕的事情!尤其是在生产中。磁盘便宜!添加一个慷慨的交换分区!:-) 或者在最坏的情况下,您也可以稍后创建交换文件。
在任何 UNIX 系统上,您确实需要交换空间——因为这是进程所在的地方,而它们并未被调度到其中一个 CPU 上。如果您没有交换空间,将会发生非常糟糕的事情,因为您的系统将耗尽创建新进程的空间(RAM)——它不能将它们放入交换空间,因为没有,所以您会看到极高的负载,系统冻结,进程似乎莫名其妙地死亡。
要检查正在使用的内存和交换空间,您可以运行free -k. 您还可以通过运行swapon -s..检查交换配置。如果没有配置交换,这将不会显示任何输出。
根据经验,将交换空间配置为物理内存大小的大约 1..2 倍。 我想说如果你有 18G RAM,配置 ~20..30G Swap——不要吝啬交换,因为“磁盘非常便宜”!
免责声明:有一些例外,您可以在没有交换的情况下生活,但另一方面,配置和不需要它也无妨!:)
创建交换空间的两种选择:
创建一个交换分区,最好是在你最快的磁盘分区上(最好的选择;或者在你的物理服务器上添加一个闪存驱动器)
或者创建一个交换文件(如果你没有剩余的磁盘空间来分区;如果你后来发现你需要比预期更多的交换,这也是一个不错的选择)
...然后格式化交换分区或交换文件,使其可用于与mkswap命令交换。
使用 启用交换空间后sudo swapon -a,您应该会看到它列在top和 中swapon -s,并且您的系统应该表现得更好。
关于交换空间的文章:
https://www.linux.com/news/software/applications/8208-all-about-linux-swap-space
https://www.linux.com/learn/tutorials/442430-increase-your-available-swap-space-with-a-swap-file
http://www.cyberciti.biz/faq/linux-add-a-swap-file-howto/
http://www.thegeekstuff.com/2010/08/how-to-add-swap-space/
http://lissot.net/partition/partition-08.html
http://tldp.org/LDP/sag/html/swap-space.html
一些提示:
man -k swap
man mkswap
man fstab , vim /etc/fstab
编辑
由于此问题已迁移到 ServerFault .. 我将在此处添加评论,因为人们抱怨我引用了旧规则:“ 1..2-times RAM size == Swap size ”
如今,一个 2TB SATA 驱动器的成本约为 70 美元,这意味着 20GB 的成本约为 70 美分——实在是太便宜了!我知道 20GB 听起来很多,但可以将其视为非常便宜的“最坏情况保险”!
有人说:“如果你的系统填满了 18GB 并且正在交换到 20GB,那么你的问题就更大了”
当然是真的,但是如果出现意外问题,拥有充足的交换空间可以避免您的服务器及其上的进程完全崩溃!您可能仍然可以登录,在系统仍在运行时检查系统(缓慢),并修复一些东西(尽管缓慢),而不必重新启动.. 在生产服务器上,真的没有理由不使用大量交换.
如果我有一台有 18GB RAM 的服务器并且它正在运行 MongoDB(例如,这是非常占用 RAM 的)..我肯定会配置非常慷慨的交换空间,甚至可能是 40..60GB ......以防万一出现意外问题..
| 归档时间: |
|
| 查看次数: |
15260 次 |
| 最近记录: |