Ubuntu-14.04

G-Wan 使用所有可用記憶體

  • July 31, 2015

我已經在 Vultr 提供的帶有 Ubuntu 14.04.02 x64 伺服器版本的 KVM VPS 上安裝了最新的 g-wan 網路伺服器(4.3.14 x64)(1GB RAM,1 個 CPU 核心和 2GB 交換)。

VPS 設置是絕對的準系統——只有 Ubuntu 和 g-wan。我已將 g-wan 複製到 /opt/gwan/ 並使用 g-wan 文件中提供的初始化腳本將其作為服務啟動。我還禁用了 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 用於當我停止上一個命令(執行時在終端上沒有顯示任何內容)並且這次啟動它時./gwan -d:www-data:www-data- 再次沒有任何問題。我再次殺死它並將其作為服務啟動 - 每秒日誌中再次沒有啟動條目,儘管到目前為止它只執行了一個小時。

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:

似乎出於某種奇怪的原因,它每晚正好在午夜開始記錄奇怪的開始事件。我昨晚將它作為一項服務啟動,Tue, 28 Jul 2015 19:31:22 GMT: start它一直執行到午夜都沒有問題。稍後將在作為普通應用程序執行時更改系統日期對其進行測試。

另外,忘了提到根本沒有定義 cronjobs,以防它們中的任何一個可能干擾 g-wan。

//編輯3:

我嘗試在 g-wan 作為服務和普通應用程序執行時手動更改系統日期(在此之前也禁用了 ntp 服務),但似乎 g-wan 無法辨識更改,因為沒有日誌在儲存 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

別再看了,有一天 KVM 虛擬機管理程序可能會通過正確更新 /proc/sys 核心變數來獲得 CPU 虛擬化……

與此同時,KVM 將破壞所有multicore應用程序,例如 G-WAN。

“修復”是像這樣執行 G-WAN:# ./gwan -g -w 1 -d

這將強制使用 1 個 CPU 核心,儘管系統資訊是虛假的。

引用自:https://serverfault.com/questions/709120