Articles of 内存

PHP的memory_limit本地值不符合php.ini的值

CentOS系统。 总结:在master和local php.ini中更改了memory_limit,但是没有改变特定虚拟主机的本地值。 为了提高性能,我在/etc/php.ini中将memory_limit设置为1024M phpinfo()将服务器上其他虚拟主机的Master和Local值显示为1024M。 更改/etc/php.ini中的值将更改除一个之外的所有值。 一个站点卡住256M的本地值。 我以为我发现这个问题:在那个网站的根目录下有一个php.ini文件(我不知道),它有 memory_limit = 256M 我把它改为1024M。 问题解决了? 不,现在我不知道在哪里看。 显然,我已经重新启动apache(/etc/init.d/httpd restart),这通常是诀窍。 我也closures了APCcaching,但我不认为它会cachingini文件。 最后,我试着把它添加到httpd.conf中的虚拟主机上: php_value memory_limit 536870912 (是的,这将是512MB)这并没有任何效果。 还有什么可能是这个问题? 谢谢。

Centos正在使用所有的内存caching,而不是放弃

total used free shared buffers cached Mem: 1024 1020 3 0 0 859 -/+ buffers/cache: 160 863 随着863“免费”的程序,一切都得到了内存的问题。 所有的网页都有 Warning: Unknown: Unable to allocate memory for pool. in Unknown on line 0 我怎样才能知道在地狱里吃了859mb的内存,并释放它? 我用php-fpm和mysql使用nginx。

如何确定httpd内存使用情况

如果我有从httpd top这个输出,我如何确定其总内存使用情况? 16924 apache 20 0 203m 7108 2852 S 0.0 0.2 0:03.48 httpd 16925 apache 20 0 204m 7128 2776 S 0.0 0.2 0:03.40 httpd 16926 apache 20 0 203m 7024 2772 S 0.0 0.2 0:03.24 httpd 16928 apache 20 0 203m 7164 2852 S 0.3 0.2 0:03.64 httpd 16929 apache 20 0 203m […]

free -m显示总共有309 Mb的4GB内存的系统

操作系统:Xen云平台1.1(XCP)修改的centos,以及在intel i5上运行的xen server 5.0 免费-m total used free shared buffers cached Mem: 309 136 172 0 1 17 -/+ buffers/cache: 117 191 Swap: 511 7 504 df -h none 380M 0 380M 0% /dev/shm 猫/ proc / meminfo MemTotal: 316416 kB MemFree: 79024 kB Buffers: 5444 kB Cached: 79304 kB SwapCached: 0 kB Active: 48020 […]

是否可以禁用或调整OpenVZ的文件系统caching共享?

对于基于容器的虚拟化的OpenVZ,似乎主机和所有客户共享文件系统caching。 在谈论虚拟化时,这听起来似是而非,但这实际上是OpenVZ的一个特性。 这也是有道理的。 由于只有一个内核正在运行,因此可以通过在内存中共享文件系统caching的相同页面来获益。 虽然这听起来有益,但我认为这里的一个设置实际上受到它的影响。 原因如下:我的机器实际上并没有在磁盘上共享任何文件,所以我不能从中受益。 几个OpenVZ机器正在使用MyISAM表运行MySQL。 与InnoDB的缓冲池不同,MyISAM依靠系统的文件系统caching来caching数据文件。 还有一些虚拟机已知可以在主机的同一文件系统上执行大量的I / O操作。 出于testing目的,我在一台机器上的某个大型数据库上运行了cat *.MYD > /dev/null ,我看到另一个文件系统caching正在降低,由htop监控。 这基本上刷新了客户端(FIFO)中所有有用的文件系统caching,因此它刷新了客户端中的MySQLcaching。 在我的分析中,我直到这里吗? 现在用户抱怨MySQL很慢。 它是。 一些简单的SELECT查询需要几秒钟的时间磁盘I / O被其他机器大量使用。 所以,简单地说: 有没有办法避免基于容器的虚拟化中的其他虚拟机擦除文件系统caching? 而不是迁移到KVM或InnoDB(见下文),可能会有一个configuration选项,我错过了。 一些想法: select在内核中刷新文件系统caching的algorithm。 (可能?如何?) 为单个VM保留一定数量的页面。 (看起来没有select文件系统cachingtypes的页面,阅读man vzctl ) 在另一个文件系统上运行MySQL会让我在哪里? 升级机器中的RAM(如@ michael-hampton所示)。 虽然是一个便宜的select,它不可能解决它。 升级+ 8GB与磁盘I / O操作的数量不成比例,比如说几十千兆字节。 如果没有,我想我的select是: 使用KVM运行MySQL-MyISAM运行的虚拟机。 KVM实际上将内存分配给VM,并且不允许交换caching,除非使用balloon驱动程序。 移动到InnoDB并调整缓冲池,脏页面等。现在认为这是长期的“高兴”,因为不是每个负责系统pipe理的人都理解InnoDB。 更多的build议欢迎。 系统软件:Proxmox(现在1.9,可升级到2.x)。 一个大的LV分配给虚拟机。

交换空间最大化 – JVM死亡

我有一个运行3个WordPress实例的服务器,MySql,Apache和64m初始和最大堆上的play framework 2.0。 如果我增加运行的JVM的最大堆,甚至16米,我看到128米的交换空间稳定地填满,直到JVM死亡。 我注意到,只有当我在Java虚拟机网站上插入JVM才会死亡。 我认为这是因为JVM在收集时没有要求内存。 我注意到,当我重新启动Apache时,我回收了大约一半的交换和内存。 那么有什么办法可以configurationApache以消耗更less的内存? 还有什么可能导致交换空间得到如此巨大的冲击只有16m添加到JVM的最大堆大小? 服务器运行: Ubuntu 12.04 内存: 408米 交换: 128米 Apache mods: alias.conf alias.load auth_basic.load authn_file.load authz_default.load authz_groupfile.load authz_host.load authz_user.load autoindex.conf autoindex.load cgi.load deflate.conf deflate.load dir.conf dir.load env.load mime.conf mime.load negotiation.conf negotiation.load php5.conf php5.load proxy_ajp.load proxy_balancer.conf proxy_balancer.load proxy.conf proxy_connect.load proxy_ftp.conf proxy_ftp.load proxy_http.load proxy.load reqtimeout.conf reqtimeout.load rewrite.load setenvif.conf setenvif.load status.conf […]

Ubuntu:迫使进程进入交换或进入内存

我现在正在Ubuntu上解决以下问题:是否可以指定一个进程只能在RAM中运行(即不允许交换)还是仅在交换部分中反向运行? 我的意思是这个过程应该被系统杀死,而不是使用其他types的内存。 这对我来说很重要,因为我应该比较更多algorithm的运行时间,并且我必须确保所有进程都运行在RAM中或交换部分中。

Solaris / tmp文件系统有多less空间?

在Solaris上,/ tmp文件系统是types为“tmpfs”的文件系统。 它是通过虚拟内存池中分配的空间在内核中实现的。 这意味着分配与机器上可用的RAM和交换空间交互。 如果我有一个大小适中的交换分区的大内存机器(大量的RAM),我的/ tmp空间的大小是受内存,交换空间,还是两者总和的限制? “df -h / tmp”显示的数字似乎并不反映可用RAM,只有交换空间。

低内存机器上的e2fsck:我可以从scratch_files或交换中获得更多吗?

我在一台32位机器上运行CentOS 6,内存为1 GB。 我有一个1TB的外部硬盘,我试图运行e2fsck。 它运行了大约一个半小时,然后Error storing directory block information (inode=45206324, block=0, num=39291127): Memory allocation failed 。 find这个问题后 ,我用指定的内容创build了/etc/e2fsck.conf ,根据这个问题的答案,创build了一个20GB的交换文件(我只有一个磁盘,所以不能将多个磁盘拆分到多个磁盘上)。 已经有2GB的交换空间。 在发生故障时,在scratch_files目录中使用了大约325MB,交换使用率为550MB。 新的20GB交换文件没有被触及。 在e2fsck: aborted程序死亡之前,CPU占用了大约2%的CPU使用时间:45分钟e2fsck: aborted ,交换恢复到大约65 MB。 使用iostat -dx ,我发现主磁盘的利用率是4.3%,而外部驱动器是7.2%,而e2fsck仍在运行(但失败),但是当CPU处于100%时我没有这样做,所以我不不知道是什么样的。 程序终于中止后,这些磁盘利用率没有变化。 所以我的问题是:为什么没有使用交换空间或用临时文件填满磁盘e2fsck失败? 还有什么我可以尝试修复这个磁盘使用这台机器? 这是3000英里远… 编辑:这里是内存故障之前top的内存相关行: Mem: 1029080k total, 1010780k used, 18300k free, 309780k buffers Swap: 23019504k total, 71796k used, 22947708k free, 433072k cached 之后,仍然在运行: Mem: […]

如何找出谁使用了所有RAM(更新)?

有时候我发现使用了我的小型Debian机器的100%的RAM,但是我不知道如何find这个漏洞: 顶部显示所有的内存都被使用了,但是我找不到任何在进程中占用这个内存的进程列表(进程按字段'n' – %MEMsorting): top – 12:50:41 up 8 days, 1:13, 1 user, load average: 0.06, 0.15, 1.63 Tasks: 101 total, 1 running, 100 sleeping, 0 stopped, 0 zombie Cpu(s): 0.0%us, 0.0%sy, 0.0%ni,100.0%id, 0.0%wa, 0.0%hi, 0.0%si, 0.0%st Mem: 1016252k total, 996428k used, 19824k free, 684k buffers Swap: 1983480k total, 105052k used, 1878428k free, 16884k cached […]