APC缓存碎片问题

2024-02-09

我在 CentOS 服务器 5 上运行 APC(php 缓存)(每天 13 000 次访问),运行 php 5.3.3、APC 3.1.4 和 4Gb RAM。在过去的几周里,我经历了很多“unable to allocate memory for pool” 日志中出现错误,并且网站经常会宕机。

我认为问题出在APC上。从统计数据来看,一两个小时后缓存就满了,而且碎片总是跳到 100%。这是我的 apc.ini 配置设置:

apc.cache_by_default    1
apc.canonicalize    0
apc.coredump_unmap  0
apc.enable_cli  0
apc.enabled 1
apc.file_md5    0
apc.file_update_protection  2
apc.filters 
apc.gc_ttl  3600
apc.include_once_override   0
apc.lazy_classes    00
apc.lazy_functions  0
apc.max_file_size   1M
apc.mmap_file_mask  /dev/zero
apc.num_files_hint  0
apc.preload_path    
apc.report_autofilter   0
apc.rfc1867 0
apc.rfc1867_freq    0
apc.rfc1867_name    APC_UPLOAD_PROGRESS
apc.rfc1867_prefix  upload_
apc.rfc1867_ttl 3600
apc.shm_segments    1
apc.shm_size    512M
apc.slam_defense    1
apc.stat    1
apc.stat_ctime  0
apc.ttl 7200
apc.use_request_time    1
apc.user_entries_hint   0
apc.user_ttl    7200
apc.write_lock  1

从APC统计数据中我可以看到缓存文件的数量非常高(40 000),这是由于phpbb和mediawiki的缓存文件过多所致。我是否必须使用以下方式阻止 APC 缓存此文件apc.filters?问题有解决办法吗?


您确实应该在生产服务器上设置 apc.stat=0 ,这将阻止 APC 实际访问 IO 检查文件是否已更改。

还设置 apc.slam_defense=0 因为它已被弃用

查看其他选项的文档:http://php.net/manual/en/apc.configuration.php http://php.net/manual/en/apc.configuration.php

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

APC缓存碎片问题 的相关文章

  • 插入值数组

    我有一个具有可变数量值的数组 除了内部带有查询的循环之外 是否有更有效或更好的方法将它们插入到我的数据库中 At 这个网站 http www desilva biz mysql insert html 有一个很好的 MySQL 多插入查询示
  • php 数组用重音符号排序

    我用它来根据姓氏排序 usort fb friends data custom sort function custom sort a b return a last name gt b last name foreach fb frien
  • 在 Laravel 中创建用户表

    我在 laravel 的用户表方面遇到了一些麻烦 我很久以前就已经删除了那些默认表 现在我尝试使用 Auth 但无法注册 因为数据库中没有表 但我也无法创建表php artisan migrate 因为我已经删除了那些迁移表 所以我想再次创
  • 在 PHP 中获取日期和数字工作日

    我正在用 PHP 开发一个应用程序 我需要使用日期和工作日的数字表示 我尝试过以下方法 today date Y m d number date N strtotime today echo Today today weekday numb
  • Laravel Schema onDelete 设置为 null

    无法弄清楚如何在 Laravel 中的表上设置正确的 onDelete 约束 我正在使用 SqLite table gt gt onDelete cascade works table gt gt onDelete null set nul
  • 我可以使用开发者密钥通过 Google Sheets API 无需 Oauth 向 Google Sheet 写入数据吗?

    我正在开发一个使用 Google Sheets API 读取和更新 Google 电子表格中的值的应用程序 我可以使用我的开发人员密钥进行读取 但是尝试写入会返回此错误 请求缺少所需的身份验证凭据 需要 OAuth 2 访问令牌 登录 co
  • PHP 矩阵的逆矩阵

    I saw 这个问题 https stackoverflow com questions 211160 python inverse of a matrix 并弹出这个想法 PHP 有没有一种有效的方法来做到这一点 EDIT 最好有演示 你
  • 如何使PHP库松耦合? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 使用 php5-geoip 和 Maxmind 数据库获取 IPv6 支持

    我按照这些相同的步骤进行了 geoip 设置 http php net manual en geoip setup php http php net manual en geoip setup php wget http geolite m
  • 在 CodeIgniter 中使用 ajax 时出现 403 禁止错误

    我正在显示我的名字textbox使用 ajax 自动完成 但我的 ajax URL 不起作用 每次都显示在网络选项卡中 403 禁止 我尝试过像这样的ajax URL url baseUrl index php Employee contr
  • 以阿拉伯语显示日期

    这是我的代码 setlocale LC ALL ar echo strftime e b Y strtotime 2011 10 25 Output 25 Sep 2011 为什么不显示阿拉伯日期 我是否错误地使用了 strftime 在这
  • 如何在 PHP 的 GD 库中为文本添加发光或阴影? [关闭]

    很难说出这里问的是什么 这个问题是含糊的 模糊的 不完整的 过于宽泛的或修辞性的 无法以目前的形式得到合理的回答 如需帮助澄清此问题以便重新打开 访问帮助中心 help reopen questions 是否可以在 GD 中为文本添加发光或
  • 服务器重新启动时显示等待页面

    我有一个服务器并为其创建一个 Web 界面 如果用户按下页面上的重新启动按钮 则用户将被重定向到reboot php他应该看到一个旋转 gif 直到服务器再次可访问并且服务器通过 shell 执行重新启动 如果服务器可以访问 那么我需要重定
  • 将 CSV 文件导入 MySQL 数据库时出现无效的 UTF-8 字符串

    我正在尝试使用以下代码将 CSV 导入我的 MySQL 数据库 我从帖子中获取了 CSV 文件
  • 音频端播放新文件

    我有一个webapp https radio repjesus com当您使用 ajax jquery 单击链接时加载并播放音轨 一切正常 但当曲目结束时 曲目将设置为循环 并且这种情况可以永远持续下去 我希望播放器从数据库中自动加载随机曲
  • 如果 WooCommerce 购物车商品缺货,请勿使用优惠券

    到目前为止 这就是我所得到的 add filter woocommerce coupon is valid coupon always valid 99 2 function coupon always valid valid coupon
  • 这段php代码安全吗?

    我知道我应该使用准备好的语句 但我的下一个项目将使用准备好的语句 我只需要完成这个简单的小应用程序 所以我的问题是 以下代码片段安全吗 我使用了 htmlentities 以及 mysql real escape string 因为我认为这
  • 用于查找 标记之间的所有内容的正则表达式

    我正在尝试找到一种方法来列出之间的所有内容 a and a 标签 所以我有一个链接列表 我想获取链接的名称 不是链接的位置 而是它们在页面上的名称 对我来说真的很有帮助 目前我有这个 lines preg split r n r conte
  • Laravel项目部署到Cpanel时出现404错误如何解决?

    我正在尝试将我的 laravel Laravel Framework 7 28 3 部署到 Cpanel 但出现 404 错误 我将项目上传到 public html 修改了 index php 文件以指向正确的文件 如下所示 我认为ind
  • PHP IMAP 解码消息

    我有通过 Base64 编码和 8 位编码发送的电子邮件 我想知道如何使用 imap fetchstruct 检查消息的编码 已经这样做了大约两个小时 所以丢失了 然后正确解码 Gmail 和 Mailbox iOS 上的应用程序 将其作为

随机推荐

  • jquery嵌套li点击事件多次调用

    我有以下结构 ul class filetree li span class folder Folder 1 span ul li span class file Item 1 1 span li ul li li span class f
  • ViewController 对象为零

    我有 2 个视图控制器 1 视图控制器 VC 2 WebViewController WVC 在 VC 中 我单击一个按钮 然后显示 WVC 成功完成WVC中的所有任务后 我想显示VC并在VC中执行特定功能 现在 Storyboard 包含
  • 将 MigraDoc 目录添加到 PDFsharp PDF

    我正在尝试使用 PDFsharp 和 MigraDoc 从许多其他文件创建 PDF 报告文件 基本上工作流程如下 用户上传 2 个或更多文档以连接 用户选择他们想要包含在目录中的页面 这些文档连接在一起并生成目录 现在我可以轻松地连接文档并
  • 向远程验证属性 MVC3 添加延迟

    我有一个场景 在执行注册页面时必须检查数据库中是否存在用户名 为此 我在模型中实现了用于远程验证的远程属性 Remote CheckUserNameAvaliable User Httpmethod Post public string U
  • Rails 3,具有 lambda 条件的 has_one / has_many

    这是我的模型 class User lt ActiveRecord Base has many bookmarks end class Topic lt ActiveRecord Base has many bookmarks end cl
  • 在运行时在现有类 C# 中动态添加属性

    我有一个用户界面 我们在其中添加以下值到表中Fields 产品名称 产品编号 产品代码 我有一个现有的课程Product与一些现有的属性 public class Product public string ProductID get se
  • 如何测试实例是否是 Swift 中的特定类或类型?

    Objective C 有两种方法来测试一个对象是否是特定类或子类的实例 BOOL isMemberOfClass Class aClass 返回一个布尔值 指示接收者是否是 给定类的实例 BOOL isKindOfClass Class
  • 删除 ArrayList#1 中出现在另一个 ArrayList#2 中并且在 ArrayList#1 中不唯一的行

    有两个数组列表 ArrayList
  • JS 对象 this.method() 通过 jQuery 中断

    我确信这个问题有一个简单的答案 但现在是星期五下午 我很累 不确定如何解释它 所以我将继续发布示例代码 这是一个简单的对象 var Bob Stuff init function this Stuff arguments 0 doSomet
  • 将现有的 Maven 项目导入 Eclipse

    我有一个现有的 Maven 项目 我使用 Eclipse Helios 作为我的 IDE 我需要将现有的 Maven 项目导入到我的 IDE 中 请告诉我导入现有 Maven 应用程序的正确方法是什么 我们应该选择 Import Exist
  • 为什么 (new Date() == new Date()) 为 false,而 (Date() == Date()) 为 true? [复制]

    这个问题在这里已经有答案了 我一直在用 JSFiddle 来解决this https www freecodecamp com challenges friendly date rangesFreeCodeCamp 中的问题 当我使用日期作
  • 在数组中查找子数组

    我有数组 array 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 我想找到子数组的索引 1 2 3 4 所以它应该返回值 0但每次我尝试这样做时 它都会返回 1 这是我尝试过的 array indexOf
  • 使用单个 HELM 模板的多个资源

    默认情况下 我们一直对每个应用程序 公共 使用单个入口 但根据最近的要求 我们还需要为某些应用程序公开 私有 端点 这意味着我们有一个如下所示的模板 模板 ingress yaml if Values ingress enabled ful
  • 当替换构造函数执行时, std::Optional 不应该包含它的值吗?

    在实际代码中 构造函数可能非常复杂 因此emplace of a std optional可以查询选项本身的状态 当发生这种情况时 通常会有点复杂 但这里有一个 人为的 最小示例 include
  • 更改 UIAlertView 中取消按钮的位置?

    我注意到 当我从 iPhone 主屏幕删除应用程序时 出现的警报视图左侧显示 删除 按钮 右侧显示 取消 按钮 但是 当我使用 UIAlertView 在应用程序中构建删除功能时 按钮似乎仅显示左侧的 取消 和右侧的 删除 我希望我的应用程
  • Android:获取Facebook好友列表

    我正在使用脸书软件开发工具包 https github com facebook facebook android sdk 在墙上张贴消息 现在我需要获取 Facebook 好友列表 有人能帮我解决这个问题吗 编辑 try Facebook
  • Android 设置视图位置 - setY 与 setTop

    我打算以编程方式移动按钮的位置 按钮处于相对布局 我研究发现我们可以使用 setY or setTop 看起来它们的工作原理应该是一样的 但就我而言 setTop 根本不改变位置并且 setY 仅有效 我不确定我误解了什么 但这对我来说很奇
  • 如何摆脱 VS Code 中的“同步更改 1 ↑”按钮?

    最近 由于某种原因 每次我想要将更改推送到 GitHub 存储库时 我都必须按此按钮 我不记得是否有一个设置是我不小心切换的 我也从未在 VS Code 环境之外更改我的存储库 我正在使用 Gatsby GitHub Netlify 设置
  • 软键盘覆盖 PopupWindow 中的 EditText

    我整理了一个简单的测试项目 它显示一个包含 EditText 的 PopupWindow 在 Android 2 2 上 当我点击 EditText 时 会显示软键盘 正如我所期望的那样 但是 软键盘覆盖了 EditText 并且我无法平移
  • APC缓存碎片问题

    我在 CentOS 服务器 5 上运行 APC php 缓存 每天 13 000 次访问 运行 php 5 3 3 APC 3 1 4 和 4Gb RAM 在过去的几周里 我经历了很多 unable to allocate memory f