帮别人求助一下。
服务器人数高峰(约 100 人左右)时期,会出现内存占用持续升高现象,之后会出现 txAdmin 提示服务器挂起或崩溃,然后自动重启,这种情况下应该如何排查问题?
崩溃发生时的日志:
[ script:oxmysql] [11.3.2-MariaDB] esx_addonaccount took 242.7004ms to execute a query!
[ script:oxmysql] UPDATE addon_account_data SET money = ? WHERE account_name = ? [12726493,"society_ambulance"]
[ script:oxmysql] [11.3.2-MariaDB] jg-advancedgarages took 245.0900ms to execute a query!
[ script:oxmysql] UPDATE owned_vehicles SET vehicle = ? WHERE plate = ? ["{\"modAerials\":-1,\"color2\":[0,0,0],\"modEngineBlock\":-1,\"modTrimA\":-1,\"bulletProofTyres\":false,\"fuelLevel\":86,\"modWindows\":-1,\"windowStatus\":{\"1\":true,\"2\":false,\"3\":false,\"4\":false,\"5\":true,\"6\":false,\"7\":false,\"0\":false},\"modRoofLivery\":-1,\"plate\":\"TUG 792\",\"modXenon\":false,\"tireHealth\":{\"1\":1000.0,\"2\":1000.0,\"3\":1000.0,\"0\":1000.0},\"modSteeringWheel\":-1,\"pearlescentColor\":68,\"color1\":[0,0,0],\"xenonCustomColor\":[],\"oilLevel\":5,\"modSpeakers\":-1,\"driftTyres\":false,\"modFrontWheels\":-1,\"tankHealth\":1000,\"modOrnaments\":-1,\"modTrimB\":-1,\"modDoorR\":-1,\"dirtLevel\":0,\"modStruts\":-1,\"modLightbar\":-1,\"modCustomTiresF\":false,\"windowTint\":-1,\"modArchCover\":-1,\"modBrakes\":-1,\"modArmor\":4,\"modShifterLeavers\":-1,\"model\":1821804144,\"modTransmission\":2,\"modEngine\":3,\"doorStatus\":{\"1\":false,\"2\":false,\"3\":false,\"4\":false,\"5\":false,\"0\":false},\"interiorColor\":0,\"modTank\":-1,\"modRoof\":-1,\"modDashboard\":-1,\"modRearBumper\":-1,\"xenonCustomColorEnabled\":false,\"neonColor\":[255,0,255],\"wheelWidth\":1.0,\"modSubwoofer\":-1,\"paintType2\":7,\"modSuspension\":-1,\"modPlateHolder\":-1,\"tyreSmokeColor\":[255,255,255],\"modGrille\":-1,\"wheelSize\":1.0,\"modFrame\":-1,\"plateIndex\":3,\"engineHealth\":1000,\"modSmokeEnabled\":false,\"modNitrous\":-1,\"dashboardColor\":0,\"modFender\":-1,\"neonEnabled\":[false,false,false,false],\"modHydraulics\":false,\"bodyHealth\":1000,\"modAPlate\":-1,\"modSeats\":-1,\"modHood\":-1,\"modHorns\":-1,\"modVanityPlate\":-1,\"modRightFender\":-1,\"extras\":{\"2\":true,\"1\":false},\"modHydrolic\":-1,\"modLivery\":1,\"modAirFilter\":-1,\"modTrunk\":-1,\"modFrontBumper\":-1,\"wheels\":0,\"modCustomTiresR\":false,\"modExhaust\":-1,\"tireBurstCompletely\":{\"1\":false,\"2\":false,\"3\":false,\"4\":false,\"5\":false,\"0\":false},\"tireBurstState\":{\"1\":false,\"2\":false,\"3\":false,\"4\":false,\"5\":false,\"0\":false},\"modSideSkirt\":-1,\"wheelColor\":156,\"xenonColor\":255,\"modDoorSpeaker\":-1,\"modTurbo\":1,\"modSpoilers\":-1,\"paintType1\":7,\"modBackWheels\":-1,\"modDial\":-1}","TUG 792"]
[ script:oxmysql] [11.3.2-MariaDB] pnt_bulletProofVest took 242.0746ms to execute a query!
[ script:oxmysql] UPDATE bulletproof SET quantity = ? WHERE identifier = ? [0,"4b4aed9f0034a5c9bfce195ee01b30f7e045b88d"]
[ script:oxmysql] [11.3.2-MariaDB] okokBilling took 220.6720ms to execute a query!
[ script:oxmysql] SELECT * FROM users WHERE identifier = ? ["char1:86ba82536b992d80f0e1d2f8e2b280916315c836"]
[ script:oxmysql] [11.3.2-MariaDB] esx_addonaccount took 270.3068ms to execute a query!
[ script:oxmysql] UPDATE addon_account_data SET money = ? WHERE account_name = ? [12726543,"society_ambulance"]
[ script:oxmysql] [11.3.2-MariaDB] esx_addonaccount took 274.1912ms to execute a query!
[ script:oxmysql] UPDATE addon_account_data SET money = ? WHERE account_name = ? [12726593,"society_ambulance"]
[ citizen-server-impl] server thread hitch warning: timer interval of 221 milliseconds
[ script:oxmysql] [11.3.2-MariaDB] esx_addonaccount took 210.3615ms to execute a query!
[ script:oxmysql] UPDATE addon_account_data SET money = ? WHERE account_name = ? [12726643,"society_ambulance"]
[ script:oxmysql] [11.3.2-MariaDB] esx_addonaccount took 228.9300ms to execute a query!
[ script:oxmysql] UPDATE addon_account_data SET money = ? WHERE account_name = ? [12726693,"society_ambulance"]
[ script:oxmysql] [11.3.2-MariaDB] t1ger_keys took 231.7644ms to execute a query!
[ script:oxmysql] UPDATE owned_vehicles SET t1ger_keys = ? WHERE plate = ? or plate = ? [false,"LBT6666","LBT6666"]
[ script:oxmysql] [11.3.2-MariaDB] lb-phone took 219.4207ms to execute a query!
[ script:oxmysql] [0m SELECT
[ script:oxmysql] (
[ script:oxmysql] CASE WHEN t.reply_to IS NULL THEN NULL ELSE (SELECT username FROM phone_twitter_tweets WHERE id=t.reply_to LIMIT 1) END
[ script:oxmysql] ) AS replyToAuthor,
[ script:oxmysql]
[ script:oxmysql] t.id, t.username, t.content, t.attachments,
[ script:oxmysql] t.like_count, t.reply_count, t.retweet_count, t.reply_to,
[ script:oxmysql] t.`timestamp`,
[ script:oxmysql]
[ script:oxmysql] a.display_name, a.profile_image, a.verified, a.private,
[ script:oxmysql]
[ script:oxmysql] (
[ script:oxmysql] SELECT TRUE FROM phone_twitter_likes l2
[ script:oxmysql] WHERE l2.tweet_id=t.id AND l2.username=?
[ script:oxmysql] ) AS liked,
[ script:oxmysql] (
[ script:oxmysql] SELECT TRUE FROM phone_twitter_retweets r2
[ script:oxmysql] WHERE r2.tweet_id=t.id AND r2.username=?
[ script:oxmysql] ) AS retweeted,
[ script:oxmysql]
[ script:oxmysql] NULL AS tweet_timestamp, NULL AS retweeted_by_display_name, NULL AS retweeted_by_username
[ script:oxmysql] FROM phone_twitter_tweets t
[ script:oxmysql]
[ script:oxmysql] INNER JOIN phone_twitter_accounts a
[ script:oxmysql] ON a.username=t.username
[ script:oxmysql]
[ script:oxmysql]
[ script:oxmysql] WHERE (a.private=0 OR a.username=? OR (
[ script:oxmysql] SELECT TRUE FROM phone_twitter_follows f
[ script:oxmysql] WHERE f.follower=? AND f.followed=a.username
[ script:oxmysql] )) AND t.reply_to IS NULL
[ script:oxmysql] UNION ALL
[ script:oxmysql] SELECT
[ script:oxmysql] (
[ script:oxmysql] CASE WHEN t.reply_to IS NULL THEN NULL ELSE (SELECT username FROM phone_twitter_tweets WHERE id=t.reply_to LIMIT 1) END
[ script:oxmysql] ) AS replyToAuthor,
[ script:oxmysql]
[ script:oxmysql] t.id, t.username, t.content, t.attachments,
[ script:oxmysql] t.like_count, t.reply_count, t.retweet_count, t.reply_to,
[ script:oxmysql] r.timestamp,
[ script:oxmysql]
[ script:oxmysql] a.display_name, a.profile_image, a.verified, a.private,
[ script:oxmysql]
[ script:oxmysql] (
[ script:oxmysql] SELECT TRUE FROM phone_twitter_likes l2
[ script:oxmysql] WHERE l2.tweet_id=t.id AND l2.username=?
[ script:oxmysql] ) AS liked,
[ script:oxmysql] (
[ script:oxmysql] SELECT TRUE FROM phone_twitter_retweets r2
[ script:oxmysql] WHERE r2.tweet_id=t.id AND r2.username=?
[ script:oxmysql] ) AS retweeted,
[ script:oxmysql]
[ script:oxmysql] t.`timestamp` AS tweet_timestamp,
[ script:oxmysql] (
[ script:oxmysql] SELECT display_name FROM phone_twitter_accounts a2
[ script:oxmysql] WHERE r.username=a2.username
[ script:oxmysql] ) AS retweeted_by_display_name,
[ script:oxmysql] r.username AS retweeted_by_username
[ script:oxmysql]
[ script:oxmysql] FROM phone_twitter_tweets t
[ script:oxmysql]
[ script:oxmysql] INNER JOIN phone_twitter_accounts a
[ script:oxmysql] ON a.username=t.username
[ script:oxmysql]
[ script:oxmysql] JOIN phone_twitter_retweets r ON r.tweet_id=t.id
[ script:oxmysql]
[ script:oxmysql] WHERE (a.private=0 OR a.username=? OR (
[ script:oxmysql] SELECT TRUE FROM phone_twitter_follows f
[ script:oxmysql] WHERE f.follower=? AND f.followed=a.username
[ script:oxmysql] ))
[ script:oxmysql] ORDER BY `timestamp` DESC
[ script:oxmysql]
[ script:oxmysql] LIMIT ?, ? ["o..o","o..o","o..o","o..o","o..o","o..o","o..o","o..o",0,10]
[ citizen-server-impl] server thread hitch warning: timer interval of 191 milliseconds
> txaEvent "serverShuttingDown" "{"delay":5000,"author":"txAdmin","message":"服务器正在重启 (检测到服务器已崩溃)。"}"
之前也有出现过频繁超时的问题,怀疑是某个插件 StateBag 使用不当造成的,但也没有找到罪魁祸首。
掉线提示:
(Server->client connection timed out. Pending commands: 64. Command list: de3d1a59 (173 B, 24872 msec ago) __ox_cb_illenium-appearance (87 B, 25991 msec ago) __ox_cb_illenium-appearance (86 B, 26022 msec ago) 100d66a8 (73 B, 23881 msec ago) 100d66a8 (73 B, 24042 msec ago) AesxAdmin:updateTime (49 B, 37630 msec ago) mChat:SyncTypingIndicator (37 B, 25165 msec ago)
有尝试用 profiler 查看过占用,但也没有发现什么异常的情况,可能是我使用的问题;也试过按照 [链接登录后可见] 使用 etwpackage 来检查,但在 Generic Events 中没有找到 FXServer.exe。