G-Wan使用所有可用内存

我已经在KVM VPS上安装了最新的g-wan web服务器(4.3.14 x64),这个版本由Vultr提供的Ubuntu 14.04.02 x64服​​务器版本(1GB RAM,1个CPU核心和2GB交换)。

VPS设置是绝对的准系统 – 只有Ubuntu和g-wan。 我已经将g-wan复制到/ opt / gwan /并使用g-wan文档中提供的init脚本作为服务启动它。 我也禁用了csp文件夹(通过将其重命名为_csp),并没有安装任何其他脚本语言来处理它,因为我只需要它作为静态文件服务器。 除此之外,我还没有做任何额外的定制(除了启用访问和错误日​​志)。

最初g-wan的内存开销非常小 – 只有4MB以上,但是在几个小时之后才会增长很多(最后一次重启后7个小时,现在需要360MB左右) – 越多的时间越多增长和机器变得不响应(我想由于交换),唯一的解决办法是重新启动它。

另外我必须注意到,这种情况发生在服务器大部分空闲的时候,因为它还没有被用于生产 – 我在访问和错误日​​志中只看到了一些机器人请求。

如果需要,我可以提供其他信息,只是不知道在这一点上还有什么要提的。

//编辑:

以下是跟踪日志的最后30行:

Tue, 28 Jul 2015 08:08:55 GMT: start Tue, 28 Jul 2015 08:08:56 GMT: start Tue, 28 Jul 2015 08:08:57 GMT: start Tue, 28 Jul 2015 08:08:58 GMT: start Tue, 28 Jul 2015 08:09:00 GMT: start Tue, 28 Jul 2015 08:09:01 GMT: start Tue, 28 Jul 2015 08:09:02 GMT: start Tue, 28 Jul 2015 08:09:03 GMT: start Tue, 28 Jul 2015 08:09:04 GMT: start Tue, 28 Jul 2015 08:09:06 GMT: start Tue, 28 Jul 2015 08:09:07 GMT: start Tue, 28 Jul 2015 08:09:08 GMT: start Tue, 28 Jul 2015 08:09:09 GMT: start Tue, 28 Jul 2015 08:09:10 GMT: start Tue, 28 Jul 2015 08:09:11 GMT: start Tue, 28 Jul 2015 08:09:13 GMT: start Tue, 28 Jul 2015 08:09:14 GMT: start Tue, 28 Jul 2015 08:09:15 GMT: start Tue, 28 Jul 2015 08:09:16 GMT: start Tue, 28 Jul 2015 08:09:18 GMT: start Tue, 28 Jul 2015 08:09:19 GMT: start Tue, 28 Jul 2015 08:09:20 GMT: start Tue, 28 Jul 2015 08:09:20 GMT: signal 15: Termination Tue, 28 Jul 2015 08:09:40 GMT: start Tue, 28 Jul 2015 14:45:05 GMT: signal 2: Ctrl-C Tue, 28 Jul 2015 14:45:41 GMT: start Tue, 28 Jul 2015 17:56:47 GMT: signal 15: Termination Tue, 28 Jul 2015 17:58:15 GMT: start Tue, 28 Jul 2015 17:59:00 GMT: signal 15: Termination Tue, 28 Jul 2015 17:59:11 GMT: start 

还有一些关于他们的解释:

我已经检查了整个日志,只填充了包含时间戳的行,并且每秒都开始。 第一次终止是当我停止服务,并通过./gwan手动启动服务器。 第二个终止Ctrl-C用于当我停止前一个命令(在运行时在terminal上没有显示任何东西),并且这次用./gwan -d:www-data:www-data启动它./gwan -d:www-data:www-data – 再次没有问题无论如何。 我再次杀了它,并开始作为一项服务 – 每秒钟都没有在日志中开始input,尽pipe迄今为止它只运行了一个小时。

gwan.log文件与开始/停止信息和每秒打印的内存消耗没有任何差别,如下所示:

 [Tue Jul 28 03:29:32 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:32 2015 GMT] log files enabled [Tue Jul 28 03:29:32 2015 GMT] memory footprint: 188.71 MiB. [Tue Jul 28 03:29:33 2015 GMT] memory footprint: 187.56 MiB. [Tue Jul 28 03:29:33 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:33 2015 GMT] log files enabled [Tue Jul 28 03:29:33 2015 GMT] memory footprint: 189.10 MiB. [Tue Jul 28 03:29:34 2015 GMT] memory footprint: 187.58 MiB. [Tue Jul 28 03:29:34 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:34 2015 GMT] log files enabled [Tue Jul 28 03:29:34 2015 GMT] memory footprint: 188.72 MiB. [Tue Jul 28 03:29:35 2015 GMT] memory footprint: 187.61 MiB. [Tue Jul 28 03:29:35 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:35 2015 GMT] log files enabled [Tue Jul 28 03:29:35 2015 GMT] memory footprint: 190.40 MiB. [Tue Jul 28 03:29:36 2015 GMT] memory footprint: 187.61 MiB. [Tue Jul 28 03:29:36 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:36 2015 GMT] log files enabled [Tue Jul 28 03:29:36 2015 GMT] memory footprint: 188.75 MiB. [Tue Jul 28 03:29:37 2015 GMT] memory footprint: 187.63 MiB. [Tue Jul 28 03:29:37 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:37 2015 GMT] log files enabled [Tue Jul 28 03:29:37 2015 GMT] memory footprint: 190.32 MiB. [Tue Jul 28 03:29:38 2015 GMT] memory footprint: 187.66 MiB. [Tue Jul 28 03:29:38 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:38 2015 GMT] log files enabled [Tue Jul 28 03:29:38 2015 GMT] memory footprint: 188.79 MiB. [Tue Jul 28 03:29:39 2015 GMT] memory footprint: 187.67 MiB. [Tue Jul 28 03:29:39 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:39 2015 GMT] log files enabled [Tue Jul 28 03:29:39 2015 GMT] memory footprint: 190.61 MiB. [Tue Jul 28 03:29:41 2015 GMT] memory footprint: 187.69 MiB. [Tue Jul 28 03:29:41 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:41 2015 GMT] log files enabled [Tue Jul 28 03:29:41 2015 GMT] memory footprint: 188.83 MiB. [Tue Jul 28 03:29:42 2015 GMT] memory footprint: 187.70 MiB. [Tue Jul 28 03:29:42 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:42 2015 GMT] log files enabled [Tue Jul 28 03:29:42 2015 GMT] memory footprint: 190.10 MiB. [Tue Jul 28 03:29:43 2015 GMT] memory footprint: 187.71 MiB. [Tue Jul 28 03:29:43 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:43 2015 GMT] log files enabled [Tue Jul 28 03:29:43 2015 GMT] memory footprint: 188.86 MiB. [Tue Jul 28 03:29:44 2015 GMT] memory footprint: 187.73 MiB. [Tue Jul 28 03:29:44 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:44 2015 GMT] log files enabled [Tue Jul 28 03:29:44 2015 GMT] memory footprint: 190.13 MiB. [Tue Jul 28 03:29:45 2015 GMT] memory footprint: 187.76 MiB. [Tue Jul 28 03:29:45 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:45 2015 GMT] log files enabled [Tue Jul 28 03:29:45 2015 GMT] memory footprint: 188.91 MiB. [Tue Jul 28 03:29:46 2015 GMT] memory footprint: 187.74 MiB. [Tue Jul 28 03:29:46 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:46 2015 GMT] log files enabled [Tue Jul 28 03:29:46 2015 GMT] memory footprint: 188.90 MiB. [Tue Jul 28 03:29:47 2015 GMT] memory footprint: 187.79 MiB. [Tue Jul 28 03:29:47 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:47 2015 GMT] log files enabled [Tue Jul 28 03:29:47 2015 GMT] memory footprint: 188.92 MiB. [Tue Jul 28 03:29:48 2015 GMT] memory footprint: 187.79 MiB. [Tue Jul 28 03:29:48 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:48 2015 GMT] log files enabled [Tue Jul 28 03:29:48 2015 GMT] memory footprint: 190.17 MiB. [Tue Jul 28 03:29:50 2015 GMT] memory footprint: 187.82 MiB. [Tue Jul 28 03:29:50 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:50 2015 GMT] log files enabled [Tue Jul 28 03:29:50 2015 GMT] memory footprint: 188.95 MiB. [Tue Jul 28 03:29:51 2015 GMT] memory footprint: 187.84 MiB. [Tue Jul 28 03:29:51 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:51 2015 GMT] log files enabled [Tue Jul 28 03:29:51 2015 GMT] memory footprint: 190.21 MiB. [Tue Jul 28 03:29:52 2015 GMT] memory footprint: 187.84 MiB. [Tue Jul 28 03:29:52 2015 GMT] Host /opt/gwan/0.0.0.0_8080/#0.0.0.0 [Tue Jul 28 03:29:52 2015 GMT] log files enabled [Tue Jul 28 03:29:52 2015 GMT] memory footprint: 188.10 MiB. 

//编辑2:

看起来有些奇怪的原因,就是每天晚上开始logging奇怪的开始事件。 我在昨天的Tue, 28 Jul 2015 19:31:22 GMT: start了服务Tue, 28 Jul 2015 19:31:22 GMT: start直到午夜才Tue, 28 Jul 2015 19:31:22 GMT: start工作。 稍后将在正常应用程序运行时更改系统date进行testing。

另外,忘记提及没有定义任何cronjobs,以防其中任何一个可能干扰g-wan。

//编辑3:

我已经尝试手动更改系统date,同时g-wan作为服务运行,并作为一个普通的应用程序(也在此之前禁用ntp服务),但似乎g湾无法识别更改,因为没有日志在存储gwan.log的文件夹中旋转。 跟踪日志中也没有新条目。

所有这一切使我认为这个问题可能与ntp服务有关,但是这仍然不能解释为什么它仅在午夜发生,而ntp服务更频繁地更新系统时间。

//编辑4:

以下是Web服务器上次启动的硬件检测部分(IP地址和域名已更改)。 服务器启动service gwan start ,但我想如果我用./gwan启动日志条目将是相同的

 [Wed Jul 29 11:37:56 2015 GMT] ------------------------------------------------ [Wed Jul 29 11:37:56 2015 GMT] G-WAN 4.3.14 64-bit (Mar 14 2013 07:33:12) [Wed Jul 29 11:37:56 2015 GMT] ------------------------------------------------ [Wed Jul 29 11:37:56 2015 GMT] Local Time: Wed, 29 Jul 2015 11:37:56 GMT+0 [Wed Jul 29 11:37:56 2015 GMT] RAM: (474.11 MiB free + 0 shared + 92.90 MiB buffers) / 993.92 MiB total [Wed Jul 29 11:37:56 2015 GMT] Physical Pages: 474.11 MiB / 993.92 MiB [Wed Jul 29 11:37:56 2015 GMT] DISK: 15.65 GiB free / 19.70 GiB total [Wed Jul 29 11:37:56 2015 GMT] Filesystem Type Size Used Avail Use% Mounted on [Wed Jul 29 11:37:56 2015 GMT] /dev/vda1 ext3 20G 4.1G 15G 22% / [Wed Jul 29 11:37:56 2015 GMT] none tmpfs 4.0K 0 4.0K 0% /sys/fs/cgroup [Wed Jul 29 11:37:56 2015 GMT] udev devtmpfs 487M 4.0K 487M 1% /dev [Wed Jul 29 11:37:56 2015 GMT] tmpfs tmpfs 100M 372K 100M 1% /run [Wed Jul 29 11:37:56 2015 GMT] none tmpfs 5.0M 0 5.0M 0% /run/lock [Wed Jul 29 11:37:56 2015 GMT] none tmpfs 497M 0 497M 0% /run/shm [Wed Jul 29 11:37:56 2015 GMT] none tmpfs 100M 0 100M 0% /run/user [Wed Jul 29 11:37:56 2015 GMT] 80 processes, including pid:2542 './gwan -d' [Wed Jul 29 11:37:56 2015 GMT] Page-size:4,096 Child-max:7,780 Stream-max:16 [Wed Jul 29 11:37:56 2015 GMT] CPU: 1x Virtual CPU e7da7129d3ee [Wed Jul 29 11:37:56 2015 GMT] 0 id: 0 0 [Wed Jul 29 11:37:56 2015 GMT] Cores: possible:0 present:0 online:0 [Wed Jul 29 11:37:56 2015 GMT] L1d cache: 32K line:64 0 [Wed Jul 29 11:37:56 2015 GMT] L1i cache: 32K line:64 0 [Wed Jul 29 11:37:56 2015 GMT] L2 cache: 4096K line:64 0 [Wed Jul 29 11:37:56 2015 GMT] NUMA node #1 0 [Wed Jul 29 11:37:56 2015 GMT] CPU(s):1, Core(s)/CPU:0, Thread(s)/Core:2 [Wed Jul 29 11:37:56 2015 GMT] Bogomips: 4,799.99 [Wed Jul 29 11:37:56 2015 GMT] Hypervisor: KVMKVMKVM [Wed Jul 29 11:37:56 2015 GMT] using 1 workers 0[1]0 [Wed Jul 29 11:37:56 2015 GMT] among 2 threads 0[]1 [Wed Jul 29 11:37:56 2015 GMT] 64-bit little-endian (least significant byte first) [Wed Jul 29 11:37:56 2015 GMT] Ubuntu 14.04.2 LTS \n \l (3.13.0-58) 64-bit [Wed Jul 29 11:37:56 2015 GMT] user: root (uid:0), group: root (uid:0) [Wed Jul 29 11:37:56 2015 GMT] system fd_max: 1,024 [Wed Jul 29 11:37:56 2015 GMT] program fd_max: 1,024 [Wed Jul 29 11:37:56 2015 GMT] updated fd_max: 500,000 [Wed Jul 29 11:37:56 2015 GMT] Available network interfaces (2): [Wed Jul 29 11:37:56 2015 GMT] 127.0.0.1 [Wed Jul 29 11:37:56 2015 GMT] 1.2.3.4 [Wed Jul 29 11:37:56 2015 GMT] memory footprint: 1.33 MiB. [Wed Jul 29 11:37:56 2015 GMT] Host /opt/gwan/0.0.0.0_80/#domain.com [Wed Jul 29 11:37:56 2015 GMT] log files enabled [Wed Jul 29 11:37:56 2015 GMT] memory footprint: 3.93 MiB. 

//编辑5:

今晚我把它作为一个正常的进程运行(使用./gwan ),午夜没有问题,所以问题可能来自守护进程模式。

猜测我可以在cron启动时以这种方式运行它,如果没有修复服务模式。

 CPU: 1x Virtual CPU e7da7129d3ee [Wed Jul 29 11:37:56 2015 GMT] Cores: possible:0 present:0 online:0 CPU(s):1, Core(s)/CPU:0, Thread(s)/Core:2 Hypervisor: KVMKVMKVM using 1 workers 0[1]0 among 2 threads 0[]1 

再看看,有一天KVMpipe理程序可能通过正确地更新/ proc / sys内核variables来获得CPU虚拟化。

与此同时,KVM将打破每个multicore应用,例如G-WAN。

“修复”就是像这样运行G-WAN: # ./gwan -g -w 1 -d

这将强制使用1个CPU核心,尽pipe系统信息虚假。