Articles of linux

无法删除PHP脚本的内存使用限制

情况 我遇到一个PHP脚本的问题,得到以下错误信息: Fatal error: Out of memory (allocated 359923712) (tried to allocate 72 bytes) in /path/to/piwik/core/DataTable.php on line 969 我正在运行的脚本是: /path/to/piwik/misc/cron/archive.sh 我假设数字是字节,这意味着总数大约是360MB。 对于所有的意图和目的,我已经增加了服务器上的内存限制远远高于360MB,但这是数字(给出或占用一个字节)它始终如一地出错。 请注意 :这个问题不是关于在脚本中修复内存泄漏问题,也不是为什么脚本本身使用这么多的内存。 该脚本是Piwik存档过程的一部分,所以我不能修正任何内存泄漏等。有关此脚本的更多信息以及为什么增加内存限制,请参阅“如何设置自动归档” 这个问题 考虑到脚本正试图使用​​超过360MB的内存,我无法改变,为什么我似乎不可能增加我的服务器上可用的内存量? 6月23日更新 :请参阅下面的“我试过的”>“增加Linux的每进程内存限制”如果我设置了ulimit -v 1024000 ,那么使用ulimit -v检查它是否正确。 '1024000'。 如果我再次运行这个脚本,它将会进一步发展,但是最终会以相同的内存限制(〜360MB)出错。 如果我立即检查ulimit -v ,它已经重置为原始值'524288'。 这看起来好像可能是问题的根源。 我试过了 增加PHP的memory_limit 鉴于php.ini文件: php -i | grep php.ini Configuration File (php.ini) Path => /usr/local/lib Loaded […]

每个用户路由似乎没有工作

所以,我试图实现每个用户的路由,以便我能够通过VPN路由所有btpd洪streamstream量。 不幸的是,btpd目前不允许你绑定到一个特定的IP地址。 🙁 我决定尝试遵循这个指南 。 基本上,你标记任何数据包,然后对数据包做SNAT或DNAT或MASQUERADE,然后使用ip规则强制一个特定的路由表。 最后,我的设置: (To my router) eth1 Link encap:Ethernet HWaddr 00:0a:cd:18:8a:ae inet addr:172.29.5.10 Bcast:172.29.5.255 Mask:255.255.255.0 inet6 addr: fe80::20a:cdff:fe18:8aae/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:2073338425 errors:0 dropped:0 overruns:0 frame:0 TX packets:2031270514 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:3014149031 (2.8 GiB) TX bytes:1897259705 (1.7 GiB) Interrupt:17 Base address:0x6c00 (my […]

iptables新的连接与–syn

有什么区别: iptables … -m state –state NEW 和 iptables … –syn 第一个应该selectNEW连接,但是AFAIK新的连接是通过发送TCP syn标志来完成的。 另一个意思就是 – 带有syn标志的数据包。 你可以给任何实际的例子,当上述命令返回不同的结果?

Linux的acls使用错误的GID的域组,但数字GID确定

请看下面的编辑 ,事实certificate,问题是与UID / GID SID映射,并显示一个解决方法,这将有助于更快地了解问题。 我们有一台Ubuntu 11.04服务器机器(让我们称之为数据)join到Windows域, 同样提供了开放的工具。迄今为止,这是非常好的,因为我能够: 使用AD凭据login到计算机 设置扩展ACL文件和文件夹的权限,他们的工作。 所以通过在文件夹上设置“域pipe理员”权限,我可以login到不同的域pipe理员帐户的机器,并访问该文件夹。 所以电脑本身就能理解我所属的域组,并能正确处理权限。 但问题是,当我想从桑巴共享访问文件。 Windows似乎不明白,我们正在谈论相同的“域pipe理员”或任何其他域用户/组。 细节 主文件夹已启用acl 我在smb.conf中的共享: [home] path = /home/local/MYDOMAIN browsable = yes guest ok = no read only = no writeable = yes valid users = MYDOMAIN\Administrator, @MYDOMAIN\"Domain Users", @MYDOMAIN\"Domain Admins" write list = @MYDOMAIN\"Domain Users", @MYDOMAIN\"Domain Admins" nt acl support = yes […]

QEMU-KVM Linux虚拟化的命令行

我最近发现, qemu-kvm有一个非常有希望的-curses选项,它不是启动一个X窗口,而是从适合于从命令行pipe理Linux客户机的来宾显示一个很好的ncurses输出(或者更令人满意的是,在屏幕会话,甚至通过SSH)。 所以我试了一下,发现我的Arch Linux客户端进入了“graphics模式”渲染这个function没用。 从我已经能够确定,问题是客机内核初始化帧缓冲允许高于80×60字符分辨率(和漂亮的graphics)。 所以我继续寻找一种方法来防止客户内核启动帧缓冲区。 我尝试了各种各样的内核参数, nomodeset , fb=false , vga=0x0FF , vga=ask (然后select一个VGA而不是VESA模式),无效:每次qemu-kvm -curses报告都在客户机上的“graphics模式”(在初始引导菜单之后),我无法从主机上的命令行terminal与客户机进行交互。 有没有简单的方法来保持来宾内核在相同的模式下启动(没有帧缓冲),而不改变内核构build参数? 如果没有,我应该改变什么内核构build选项来编译一个没有framebuffer支持的内核? 有没有更好的方法在纯文本模式下从主机上的terminal获得虚拟机login(例如,适合在主机上的屏幕会话中运行),而无需在客户机上运行sshd?

即使交换没有完全使用,当内存不足时,我也不能ssh进入远程服务器

我有一个godaddy服务器已经变得没有反应周期性。 这是很难排除故障,因为当它变得没有响应时,我不能ssh进入它。 我想通过添加一个cron作业来pipe理输出从“top”到每5分钟的日志文件。 下一次,我没有响应后,我打开电源循环,我检查了这些日志,发现内存已经超出了,但交换大部分是未使用的。 我正在努力减less这台机器上两台应用程序服务器的内存使用率(结果是有太多的连接被打开了,每台服务器用完了30米,所以打开服务器后,服务器耗尽了内存) d真的很想知道如何确保我可以ssh进入机器。 如果交换文件没有满,那么我会认为服务器有足够的空间来响应,即使这样做太慢了。 有什么办法可以保留一些内存,这样我总是可以进入机器? 以下是服务器正常运行时的样子: top – 15:13:21 up 3:12, 2 users, load average: 0.15, 0.30, 0.33 Tasks: 127 total, 1 running, 126 sleeping, 0 stopped, 0 zombie Cpu(s): 2.4%us, 1.8%sy, 0.0%ni, 95.7%id, 0.0%wa, 0.0%hi, 0.2%si, 0.0%st Mem: 2064980k total, 1611252k used, 453728k free, 45852k buffers Swap: 2096472k total, 0k used, […]

Ubuntu的Linux – 两个接口,相同的子网,不同的VLAN – MAC / ARP问题

我试图设置一个服务器,需要有相同的IP子网上的接口,但不同的VLAN: eth1.102 Link encap:Ethernet HWaddr 00:50:56:b1:00:0f inet addr:10.1.1.6 Bcast:10.1.1.255 Mask:255.255.255.0 eth1.103 Link encap:Ethernet HWaddr 00:50:56:b1:00:0f inet addr:10.1.1.12 Bcast:10.1.1.255 Mask:255.255.255.0 我看到的问题是,当某个子网上的设备发出ARP请求时,服务器只响应一个接口上的ARP,并且似乎忽略另一个接口上的任何ARP: 第一个界面: # ping -I eth1.102 10.1.1.1 PING 10.1.1.1 (10.1.1.1) from 10.1.1.6 eth1.102: 56(84) bytes of data. ^C — 10.1.1.1 ping statistics — 8 packets transmitted, 0 received, 100% packet loss, time 7008ms 第二界面: # ping […]

DRBD在我的节点之间不同步

一些版本信息: Operating system is Ubuntu 11.10, on EC2, kernel is 3.0.0-16-virtual and the application info is: Version: 8.3.11 (api:88) GIT-hash: 0de839cee13a4160eed6037c4bddd066645e23c5 build by buildd@allspice, 2011-07-05 19:51:07 在dmesg(见下面)中获得一些奇怪的错误,没有复制发生。 我已经做了我的第一个节点的主要和显示: drbd driver loaded OK; device status: version: 8.3.11 (api:88/proto:86-96) srcversion: DA5A13F16DE6553FC7CE9B2 m:res cs ro ds p mounted fstype 0:r0 StandAlone Primary/Unknown UpToDate/DUnknown r—-s ext3 我的辅助节点正在显示: drbd driver […]

绑定模式= 5针对MAC扑动的解决scheme?

有两个是互连的思科WS-2950T。 第一台交换机上的一个GBIC端口连接一个绑定接口的第一个网卡, 第二台交换机上的一个GBIC端口连接一个绑定接口的第二个网卡。 当然,两台交换机只能在一个接口上看到绑定的MAC地址(例如第一台交换机上的GBIC),绑定接口的所有入站stream量都要经过这个GBIC。 但在“mode = 5”中,所有出站stream量都在所有形成绑定的接口之间分配。 在这种情况下,数据包将从第二个交换机丢弃,反正会通过第一个交换机? 还是该部门将工作?

EXT4“设备(28)上没有剩余空间”不正确

我已经通过其他有关inode使用,问题和其他问题的其他问题/答案,但这些问题似乎都不适用… df -h / dev / sdd1 931G 100G 785G 12%/ media / teradisk df -ih / dev / sdd1 59M 12M 47M 21%/ media / teradisk 基本上,我有一个EXT4格式的驱动器1TB的大小,并正在写一个1200万(12201106)文件到一个目录。 我找不到EXT4的每个文件目录限制的文档,但文件系统报告没有剩余空间。 奇怪的是,我仍然可以在驱动器和目标文件夹上创build新文件,但是在执行大型cp / rsync时,调用mkstemp rename报告不会在设备上留下空间。 rsync:mkstemp“/media/teradisk/files/f.xml.No79k5”失败:设备上没有剩余空间(28) rsync:重命名“/media/teradisk/files/f.xml.No79k5” – >“files / f.xml”:设备上没有剩余空间(28) 我知道把这么多文件存放在一个目录中并不是出于一大堆理由,但除非我能帮上忙,否则我不希望把它们分开。 tmpfs的inode和空间使用情况,设备和其他一切看起来不错。 任何想法的原因?