Skip to content

Low memory setup ko KR

ArchiBot edited this page Sep 3, 2026 · 33 revisions

๋‚ฎ์€ ๋ฉ”๋ชจ๋ฆฌ ์„ค์น˜

์ด๋Š” ๊ณ ์„ฑ๋Šฅ(high-performance) ์„ค์ • ๊ณผ ์ •ํ™•ํžˆ ๋ฐ˜๋Œ€๋˜๋Š” ๋‚ด์šฉ์ด๋ฉฐ, ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์„ ๋‚ฎ์ถ”๋”๋ผ๋„ ASF์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ์ค„์ด๊ณ  ์‹ถ๋‹ค๋ฉด ์ด ํŒ๋“ค์„ ๋”ฐ๋ฅด๋Š” ๊ฒƒ์ด ์ผ๋ฐ˜์ ์ž…๋‹ˆ๋‹ค.


ASF๋Š” ํƒœ์ƒ์ ์œผ๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๋งค์šฐ ์ ๊ฒŒ ์‚ฌ์šฉํ•˜๋ฉฐ, ์‚ฌ์šฉ ๋ฐฉ์‹์— ๋”ฐ๋ผ 128MB์งœ๋ฆฌ Linux VPS์—์„œ๋„ ์‹คํ–‰์ด ๊ฐ€๋Šฅํ•  ์ •๋„์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๊ทธ๋ ‡๊ฒŒ ๋‚ฎ์€ ์‚ฌ์–‘์€ ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋ฅผ ์ผ์œผํ‚ฌ ์ˆ˜ ์žˆ์–ด ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๊ฐ€๋ณ๊ฒŒ ๋™์ž‘ํ•˜๋ฉด์„œ๋„, ASF๋Š” ์ตœ์ ์˜ ์†๋„๋กœ ๋™์ž‘ํ•˜๊ธฐ ์œ„ํ•ด ํ•„์š”ํ•˜๋‹ค๋ฉด OS์— ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์š”์ฒญํ•˜๋Š” ๊ฒƒ์„ ์ฃผ์ €ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

ASF๋Š” ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์œผ๋กœ์„œ ์ตœ๋Œ€ํ•œ ์ตœ์ ํ™”๋˜๊ณ  ํšจ์œจ์ ์œผ๋กœ ๋™์ž‘ํ•˜๋ ค ํ•˜๋ฉฐ, ์‹คํ–‰ ์ค‘ ์‚ฌ์šฉ๋˜๋Š” ๋ฆฌ์†Œ์Šค ๋˜ํ•œ ์ด๋ฅผ ๊ณ ๋ คํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ์™€ ๊ด€๋ จํ•ด ASF๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋ณด๋‹ค ์„ฑ๋Šฅ์„ ์šฐ์„ ์‹œํ•˜๋ฉฐ, ์ด๋กœ ์ธํ•ด ์˜ˆ๋ฅผ ๋“ค์–ด ๋ฐฐ์ง€ ํŽ˜์ด์ง€๊ฐ€ 3๊ฐœ ์ด์ƒ์ธ ๊ณ„์ •์—์„œ ์ผ์‹œ์ ์ธ ๋ฉ”๋ชจ๋ฆฌ "์ŠคํŒŒ์ดํฌ"๊ฐ€ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ASF๋Š” ๋จผ์ € ํŽ˜์ด์ง€๋ฅผ ๊ฐ€์ ธ์™€ ํŒŒ์‹ฑํ•˜์—ฌ ์ „์ฒด ํŽ˜์ด์ง€ ์ˆ˜๋ฅผ ํŒŒ์•…ํ•œ ๋’ค, ๋‚˜๋จธ์ง€ ๊ฐ ํŽ˜์ด์ง€์— ๋Œ€ํ•ด ๊ฐ€์ ธ์˜ค๊ธฐ ์ž‘์—…์„ ์‹คํ–‰ํ•˜์—ฌ ๋‚˜๋จธ์ง€ ํŽ˜์ด์ง€๋“ค์„ ๋™์‹œ์— ๊ฐ€์ ธ์˜ค๊ณ  ํŒŒ์‹ฑํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ "์ถ”๊ฐ€" ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ(๋™์ž‘์— ํ•„์š”ํ•œ ์ตœ์†Œ์น˜ ๋Œ€๋น„)์€ ๋ชจ๋“  ์ž‘์—…์„ ๋ณ‘๋ ฌ๋กœ ์ฒ˜๋ฆฌํ•˜๋Š” ๋ฐ ํ•„์š”ํ•œ ๋Œ€๊ฐ€๋กœ, ์‹คํ–‰ ์†๋„์™€ ์ „๋ฐ˜์ ์ธ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ™œ์„ฑ ๊ฑฐ๋ž˜ ์ œ์•ˆ์„ ํŒŒ์‹ฑํ•˜๋Š” ๊ฒƒ๊ณผ ๊ฐ™์ด, ๋ณ‘๋ ฌ๋กœ ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ ๋‹ค๋ฅธ ์ผ๋ฐ˜ ASF ์ž‘์—…๋“ค์—์„œ๋„ ๋น„์Šทํ•œ ํ˜„์ƒ์ด ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ์ด๋Ÿฐ ์ž‘์—…๋“ค์€ ์„œ๋กœ ๋…๋ฆฝ์ ์ด๋ฏ€๋กœ ASF๋Š” ์ด๋ฅผ ํ•œ๊บผ๋ฒˆ์— ํŒŒ์‹ฑํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์— ๋”ํ•ด, ASF(C# ๋Ÿฐํƒ€์ž„)๋Š” ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ฆ‰์‹œ OS์— ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋กœ ์ธํ•ด ASF ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ์  ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‚ฌ์šฉํ•˜๊ธฐ๋งŒ ํ•˜๊ณ  (๊ฑฐ์˜) ๋ฐ˜ํ™˜ํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์ฒ˜๋Ÿผ ๋ณด์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ถ€ ์‚ฌ๋žŒ๋“ค์€ ์ด๋ฅผ ์ด์ƒํ•˜๊ฒŒ ์—ฌ๊ธฐ๊ฑฐ๋‚˜ ๋ฉ”๋ชจ๋ฆฌ ๋ˆ„์ˆ˜๋ฅผ ์˜์‹ฌํ•  ์ˆ˜๋„ ์žˆ์ง€๋งŒ, ์ด๋Š” ๋ชจ๋‘ ์ •์ƒ์ ์ธ ํ˜„์ƒ์ด๋‹ˆ ๊ฑฑ์ •ํ•˜์ง€ ์•Š์œผ์…”๋„ ๋ฉ๋‹ˆ๋‹ค.

ASF๋Š” ๋งค์šฐ ์ž˜ ์ตœ์ ํ™”๋˜์–ด ์žˆ์œผ๋ฉฐ, ๊ฐ€์šฉ ๋ฆฌ์†Œ์Šค๋ฅผ ์ตœ๋Œ€ํ•œ ํ™œ์šฉํ•˜๋„๋ก ๋งŒ๋“ค์–ด์กŒ์Šต๋‹ˆ๋‹ค. ASF์˜ ๋†’์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ณง ASF๊ฐ€ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์‹ค์ œ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ํ•„์š”๋กœ ํ•œ๋‹ค๋Š” ์˜๋ฏธ๋Š” ์•„๋‹™๋‹ˆ๋‹ค. ASF๋Š” ๋งค๋ฒˆ OS์— ๋ฉ”๋ชจ๋ฆฌ ์ฒญํฌ๋ฅผ ์š”์ฒญํ•˜์ง€ ์•Š์•„๋„ ์„ฑ๋Šฅ์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์—, ํ• ๋‹น๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ–ฅํ›„ ์ž‘์—…์„ ์œ„ํ•œ "์—ฌ์œ  ๊ณต๊ฐ„"์œผ๋กœ ๋ณด์œ ํ•ด๋‘๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ๋Ÿฐํƒ€์ž„์€ OS๊ฐ€ ์‹ค์ œ๋กœ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ •๋ง ํ•„์š”๋กœ ํ•  ๋•Œ ์ž๋™์œผ๋กœ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ASF ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค. ์‚ฌ์šฉ๋˜์ง€ ์•Š๋Š” ๋ฉ”๋ชจ๋ฆฌ๋Š” ๋‚ญ๋น„๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜๋Š” ์‹œ์ ์€ ASF๊ฐ€ ์ž ์‹œ ํ›„ ์‹คํ–‰ํ•  ํ•จ์ˆ˜์˜ ์†๋„๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์ผ๋ถ€ ์—ฌ๋ถ„์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•ด๋‘๋Š” ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ, ์—ฌ๋Ÿฌ๋ถ„์—๊ฒŒ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์‚ฌ์šฉ ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ๋งŽ์•„์ง€๋Š” ๋•Œ์ž…๋‹ˆ๋‹ค. ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ, htop์—์„œ ASF ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์œผ๋กœ ๋ณด์ด๋Š” ๋•Œ๊ฐ€ ์•„๋‹ˆ๋ผ, Linux ์ปค๋„์ด OOM(๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ)์œผ๋กœ ์ธํ•ด ASF ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ•์ œ ์ข…๋ฃŒ์‹œํ‚ค๋Š” ๋•Œ์— ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค.

ASF์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ํ”„๋กœ์„ธ์Šค๋Š” ๋งค์šฐ ์ •๊ตํ•œ ๋ฉ”์ปค๋‹ˆ์ฆ˜์œผ๋กœ, ASF ์ž์ฒด๋ฟ๋งŒ ์•„๋‹ˆ๋ผ OS ๋ฐ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊นŒ์ง€ ๊ณ ๋ คํ•  ๋งŒํผ ์Šค๋งˆํŠธํ•ฉ๋‹ˆ๋‹ค. ์—ฌ์œ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์„ ๋•Œ, ASF๋Š” ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ํ•„์š”ํ•œ ๋งŒํผ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. (์„œ๋ฒ„ GC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ) ์ด๋Š” ์ตœ๋Œ€ 1GB์— ๋‹ฌํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. OS ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ฑฐ์˜ ๊ฐ€๋“ ์ฐจ๋ฉด, ASF๋Š” ์ƒํ™ฉ์„ ์•ˆ์ •์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์ž๋™์œผ๋กœ ์ผ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ OS์— ๋ฐ˜ํ™˜ํ•˜๋ฉฐ, ์ด๋กœ ์ธํ•ด ์ „์ฒด ASF ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ตœ์†Œ 50MB๊นŒ์ง€ ๋‚ฎ์•„์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. 50MB์™€ 1GB์˜ ์ฐจ์ด๋Š” ํฌ์ง€๋งŒ, ์ž‘์€ 512MB VPS์™€ ๊ฑฐ๋Œ€ํ•œ 32GB ์ „์šฉ ์„œ๋ฒ„์˜ ์ฐจ์ด ์—ญ์‹œ ๊ทธ๋งŒํผ ํฝ๋‹ˆ๋‹ค. ASF๊ฐ€ ์ด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์œ ์šฉํ•˜๊ฒŒ ์“ฐ์ผ ๊ฒƒ์ด๋ผ ํ™•์‹ ํ•˜๋ฉด์„œ ๋™์‹œ์— ๋‹ค๋ฅธ ์–ด๋–ค ๊ฒƒ๋„ ์ง€๊ธˆ ๋‹น์žฅ ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ASF๋Š” ๊ทธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๊ณ„์† ๋ณด์œ ํ•˜๋ฉด์„œ ๊ณผ๊ฑฐ์— ์‹คํ–‰๋œ ๋ฃจํ‹ด์„ ๊ธฐ๋ฐ˜์œผ๋กœ ์ž๋™์œผ๋กœ ์Šค์Šค๋กœ๋ฅผ ์ตœ์ ํ™”ํ•˜๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•ฉ๋‹ˆ๋‹ค. ASF์—์„œ ์‚ฌ์šฉ๋˜๋Š” GC๋Š” ์ž์ฒด ํŠœ๋‹(self-tuning) ๋ฐฉ์‹์ด๋ฉฐ, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ค๋ž˜ ์‹คํ–‰๋ ์ˆ˜๋ก ๋” ๋‚˜์€ ๊ฒฐ๊ณผ๋ฅผ ์–ป์Šต๋‹ˆ๋‹ค.

์ด๊ฒƒ์ด ๋ฐ”๋กœ ASF ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์„ค์ •๋งˆ๋‹ค ๋‹ค๋ฅด๊ฒŒ ๋‚˜ํƒ€๋‚˜๋Š” ์ด์œ ์ด๊ธฐ๋„ ํ•ฉ๋‹ˆ๋‹ค. ASF๋Š” Windows XP ์‹œ์ ˆ์ฒ˜๋Ÿผ ๊ณ ์ •๋œ ๋ฐฉ์‹์ด ์•„๋‹ˆ๋ผ ๊ฐ€๋Šฅํ•œ ํ•œ ํšจ์œจ์ ์ธ ๋ฐฉ์‹์œผ๋กœ ๊ฐ€์šฉ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๋ ค ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ASF๊ฐ€ ์‹ค์ œ๋กœ ์‚ฌ์šฉ ์ค‘์ธ (์‹ค์งˆ์ ์ธ) ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์€ stats ๋ช…๋ น์–ด ๋กœ ํ™•์ธํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ๋ด‡์ด ๋ช‡ ๊ฐœ ์•ˆ ๋  ๋•Œ๋Š” ๋ณดํ†ต ์•ฝ 4MB ์ •๋„์ด๊ณ , IPC ๋“ฑ ๊ณ ๊ธ‰ ๊ธฐ๋Šฅ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ ์ตœ๋Œ€ 30MB๊นŒ์ง€ ๋Š˜์–ด๋‚  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. stats ๋ช…๋ น์–ด๋กœ ๋ฐ˜ํ™˜๋˜๋Š” ๋ฉ”๋ชจ๋ฆฌ์—๋Š” ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์•„์ง ํšŒ์ˆ˜ํ•˜์ง€ ์•Š์€ ์—ฌ์œ  ๋ฉ”๋ชจ๋ฆฌ๋„ ํฌํ•จ๋œ๋‹ค๋Š” ์ ์„ ์œ ์˜ํ•˜์„ธ์š”. ๊ทธ ์™ธ ๋‚˜๋จธ์ง€๋Š” ๊ณต์œ  ๋Ÿฐํƒ€์ž„ ๋ฉ”๋ชจ๋ฆฌ(์•ฝ 40~50MB)์™€ ์‹คํ–‰์„ ์œ„ํ•œ ์—ฌ์œ  ๊ณต๊ฐ„(์‚ฌ์šฉ๋Ÿ‰์€ ์ƒํ™ฉ์— ๋”ฐ๋ผ ๋‹ค๋ฆ„)์ž…๋‹ˆ๋‹ค. ์ด๊ฒƒ์ด ๋ฐ”๋กœ ๋™์ผํ•œ ASF๊ฐ€ ์ €๋ฉ”๋ชจ๋ฆฌ VPS ํ™˜๊ฒฝ์—์„œ๋Š” ์ตœ์†Œ 50MB๋งŒ ์‚ฌ์šฉํ•˜๋ฉด์„œ๋„, ๋ฐ์Šคํฌํ†ฑ์—์„œ๋Š” ์ตœ๋Œ€ 1GB๊นŒ์ง€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ด์œ ์ž…๋‹ˆ๋‹ค. ASF๋Š” ์‚ฌ์šฉ์ž์˜ ํ™˜๊ฒฝ์— ๋Šฅ๋™์ ์œผ๋กœ ์ ์‘ํ•˜๋ฉฐ, OS์— ๋ถ€๋‹ด์„ ์ฃผ์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ์—ฌ์œ  ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋งŽ์„ ๋•Œ๋Š” ์ž์ฒด ์„ฑ๋Šฅ์„ ์ œํ•œํ•˜์ง€ ์•Š๋Š” ์ตœ์ ์˜ ๊ท ํ˜•์ ์„ ์ฐพ์œผ๋ ค ํ•ฉ๋‹ˆ๋‹ค.


๋ฌผ๋ก , ์‚ฌ์šฉ์ž๊ฐ€ ๊ธฐ๋Œ€ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ๋ฐฉํ–ฅ์œผ๋กœ ASF๋ฅผ ์œ ๋„ํ•  ์ˆ˜ ์žˆ๋Š” ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ๊ตณ์ด ๊ทธ๋Ÿด ํ•„์š”๊ฐ€ ์—†๋‹ค๋ฉด, ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๊ฐ€ ์•Œ์•„์„œ ์ตœ์„ ์ด๋ผ๊ณ  ํŒ๋‹จํ•˜๋Š” ๋Œ€๋กœ ์กฐ์šฉํžˆ ๋™์ž‘ํ•˜๊ฒŒ ๋‘๋Š” ๊ฒƒ์ด ๊ฐ€์žฅ ์ข‹์Šต๋‹ˆ๋‹ค. ํ•˜์ง€๋งŒ ํ•ญ์ƒ ๊ทธ๋Ÿด ์ˆ˜ ์žˆ๋Š” ๊ฒƒ์€ ์•„๋‹™๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Linux ์„œ๋ฒ„๊ฐ€ ์—ฌ๋Ÿฌ ์›น์‚ฌ์ดํŠธ, MySQL ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค, PHP ์›Œ์ปค๊นŒ์ง€ ํ•จ๊ป˜ ํ˜ธ์ŠคํŒ…ํ•˜๊ณ  ์žˆ๋‹ค๋ฉด, OOM์— ๊ทผ์ ‘ํ–ˆ์„ ๋•Œ ASF๊ฐ€ ์Šค์Šค๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ค„์ด๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆด ์—ฌ์œ ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋Œ€๊ฐœ ๊ทธ ์‹œ์ ์—๋Š” ์ด๋ฏธ ๋Šฆ์—ˆ๊ณ , ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋” ๋จผ์ € ์ฐพ์•„์˜ค๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๊ฒฝ์šฐ๊ฐ€ ๋ฐ”๋กœ ์ถ”๊ฐ€์ ์ธ ํŠœ๋‹์— ๊ด€์‹ฌ์„ ๊ฐ€์ง€๊ณ , ์ด ํŽ˜์ด์ง€๋ฅผ ์ฝ์–ด์•ผ ํ•  ๋•Œ์ž…๋‹ˆ๋‹ค.

์•„๋ž˜ ์ œ์•ˆ๋“ค์€ ๋‚œ์ด๋„์— ๋”ฐ๋ผ ๋ช‡ ๊ฐ€์ง€ ์นดํ…Œ๊ณ ๋ฆฌ๋กœ ๋‚˜๋‰˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค.


ASF ์„ค์ • (์‰ฌ์›€)

์•„๋ž˜ ๋ฐฉ๋ฒ•๋“ค์€ ์„ฑ๋Šฅ์— ๋ถ€์ •์ ์ธ ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š์œผ๋ฉฐ, ๋ชจ๋“  ์„ค์ •์— ์•ˆ์ „ํ•˜๊ฒŒ ์ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  • ๊ฐ€๋Šฅํ•˜๋‹ค๋ฉด ASF์˜ ์ผ๋ฐ˜(generic) ๋ฒ„์ „ ์„ ์‹คํ–‰ํ•˜์„ธ์š”. ์ œ๋„ค๋ฆญ ๋ฒ„์ „ ASF๋Š” ๋‚ด๋ถ€์— ๋Ÿฐํƒ€์ž„์„ ํฌํ•จํ•˜์ง€ ์•Š๊ณ , ๋‹จ์ผ ํŒŒ์ผ ํ˜•ํƒœ๋„ ์•„๋‹ˆ๋ฉฐ, ์‹คํ–‰ ์‹œ ์ž์ฒด ์••์ถ• ํ•ด์ œ ๊ณผ์ •๋„ ํ•„์š” ์—†๊ธฐ ๋•Œ๋ฌธ์— ๋” ์ž‘๊ณ  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ์ ์Šต๋‹ˆ๋‹ค. OS๋ณ„ ํŒจํ‚ค์ง€๋Š” ์‚ฌ์šฉํ•˜๊ธฐ ํŽธ๋ฆฌํ•˜์ง€๋งŒ, ASF ์‹คํ–‰์— ํ•„์š”ํ•œ ๋ชจ๋“  ๊ฒƒ์ด ํ•จ๊ป˜ ๋ฒˆ๋“ค๋กœ ํฌํ•จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ์‚ฌ์šฉ์ž๊ฐ€ ์ง์ ‘ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๋ถ€๋ถ„์ด๋ฏ€๋กœ, ๋Œ€์‹  ์ œ๋„ค๋ฆญ ASF ๋ฒ„์ „์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค.
  • ASF ์ธ์Šคํ„ด์Šค๋Š” ์ ˆ๋Œ€ 2๊ฐœ ์ด์ƒ ๋™์‹œ์— ์‹คํ–‰ํ•˜์ง€ ๋งˆ์„ธ์š”. ASF๋Š” ์›๋ž˜ ๋ฌด์ œํ•œ์˜ ๋ด‡์„ ํ•œ๊บผ๋ฒˆ์— ์ฒ˜๋ฆฌํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ์œผ๋ฏ€๋กœ, ๊ฐ ASF ์ธ์Šคํ„ด์Šค๋ฅผ ์„œ๋กœ ๋‹ค๋ฅธ ์ธํ„ฐํŽ˜์ด์Šค/IP ์ฃผ์†Œ์— ๋ฐ”์ธ๋”ฉํ•˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๋ผ๋ฉด, (ํ•„์š”ํ•˜๋‹ค๋ฉด ์—ฌ๋Ÿฌ ๋ด‡์„ ํฌํ•จํ•œ) ์ •ํ™•ํžˆ ํ•˜๋‚˜์˜ ASF ํ”„๋กœ์„ธ์Šค๋งŒ ์‹คํ–‰ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ด‡์˜ FarmingPreferences์—์„œ ShutdownOnFarmingFinished๋ฅผ ํ™œ์šฉํ•˜์„ธ์š”. ํ™œ์„ฑ ์ƒํƒœ์ธ ๋ด‡์€ ๋น„ํ™œ์„ฑํ™”๋œ ๋ด‡๋ณด๋‹ค ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ํฐ ์ ˆ์•ฝ์€ ์•„๋‹™๋‹ˆ๋‹ค. ๋ด‡์˜ ์ƒํƒœ๋Š” ์—ฌ์ „ํžˆ ์œ ์ง€๋˜์–ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ด์ง€๋งŒ, TCP ์†Œ์ผ“ ๋“ฑ ๋„คํŠธ์›Œํ‚น๊ณผ ๊ด€๋ จ๋œ ๋ฆฌ์†Œ์Šค๋Š” ์–ด๋А ์ •๋„ ์ ˆ์•ฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•„์š”ํ•˜๋ฉด ์–ธ์ œ๋“  ๋‹ค๋ฅธ ๋ด‡์„ ๋‹ค์‹œ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ๋ด‡์˜ ์ˆ˜๋ฅผ ์ ๊ฒŒ ์œ ์ง€ํ•˜์„ธ์š”. Enabled๋˜์ง€ ์•Š์€ ๋ด‡ ์ธ์Šคํ„ด์Šค๋Š” ASF๊ฐ€ ๊ตณ์ด ์‹œ์ž‘์‹œํ‚ค์ง€ ์•Š์œผ๋ฏ€๋กœ ๋ฆฌ์†Œ์Šค๋ฅผ ๋œ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ๋˜ํ•œ ASF๋Š” ๊ฐ ์„ค์ • ํŒŒ์ผ๋งˆ๋‹ค ๋ด‡์„ ์ƒ์„ฑํ•ด์•ผ ํ•œ๋‹ค๋Š” ์ ์„ ์œ ์˜ํ•˜์„ธ์š”. ๋”ฐ๋ผ์„œ ํŠน์ • ๋ด‡์„ ์‹œ์ž‘ํ•  ํ•„์š”๊ฐ€ ์—†๊ณ  ์ถ”๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๊ณ  ์‹ถ๋‹ค๋ฉด, ํ•ด๋‹น Bot.json์„ ์˜ˆ๋ฅผ ๋“ค์–ด Bot.json.bak๊ณผ ๊ฐ™์ด ์ž„์‹œ๋กœ ์ด๋ฆ„์„ ๋ฐ”๊ฟ”์„œ ASF๊ฐ€ ๋น„ํ™œ์„ฑํ™”๋œ ๋ด‡ ์ธ์Šคํ„ด์Šค์˜ ์ƒํƒœ๋ฅผ ์ƒ์„ฑํ•˜์ง€ ์•Š๋„๋ก ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ ‡๊ฒŒ ํ•˜๋ฉด ์ด๋ฆ„์„ ๋‹ค์‹œ ๋˜๋Œ๋ฆฌ๊ธฐ ์ „๊นŒ์ง€๋Š” ํ•ด๋‹น ๋ด‡์„ ์‹œ์ž‘ํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜์ง€๋งŒ, ASF๋„ ์ด ๋ด‡์˜ ์ƒํƒœ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ์œ ์ง€ํ•˜์ง€ ์•Š์•„ ๋‹ค๋ฅธ ์ž‘์—…์„ ์œ„ํ•œ ์—ฌ์œ  ๊ณต๊ฐ„์„ ํ™•๋ณดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค(๋‹ค๋งŒ ๋งค์šฐ ์ž‘์€ ์ ˆ์•ฝ์ด๋ฏ€๋กœ, 99.9%์˜ ๊ฒฝ์šฐ์—๋Š” ๊ตณ์ด ์ด๋ ‡๊ฒŒ ํ•˜์ง€ ์•Š๊ณ  ๊ทธ๋ƒฅ ๋ด‡์˜ Enabled๋ฅผ false๋กœ ๋‘๋Š” ๊ฒƒ์œผ๋กœ ์ถฉ๋ถ„ํ•ฉ๋‹ˆ๋‹ค).
  • ์„ค์ • ํŒŒ์ผ์„ ์„ธ๋ฐ€ํ•˜๊ฒŒ ์กฐ์ •ํ•˜์„ธ์š”. ํŠนํžˆ ์ „์—ญ ASF ์„ค์ •์—๋Š” ์กฐ์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ณ€์ˆ˜๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด LoginLimiterDelay๋ฅผ ๋Š˜๋ฆฌ๋ฉด ๋ด‡์ด ๋” ๋А๋ฆฌ๊ฒŒ ์‹œ์ž‘๋˜๋ฉฐ, ์ด๋Š” ์ด๋ฏธ ์‹œ์ž‘๋œ ์ธ์Šคํ„ด์Šค๊ฐ€ ๊ทธ๋™์•ˆ ๋ฐฐ์ง€๋ฅผ ๊ฐ€์ ธ์˜ฌ ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ค๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€๋กœ ๋ด‡์„ ๋” ๋น ๋ฅด๊ฒŒ ์‹œ์ž‘ํ•˜๋ฉด ๋ฐฐ์ง€ ํŒŒ์‹ฑ๊ณผ ๊ฐ™์€ ์ฃผ์š” ์ž‘์—…์„ ๋™์‹œ์— ์ˆ˜ํ–‰ํ•˜๋Š” ๋ด‡์ด ๋งŽ์•„์ ธ ๋” ๋งŽ์€ ๋ฆฌ์†Œ์Šค๋ฅผ ์‚ฌ์šฉํ•˜๊ฒŒ ๋ฉ๋‹ˆ๋‹ค. ๋™์‹œ์— ์ฒ˜๋ฆฌํ•ด์•ผ ํ•  ์ž‘์—…์ด ์ ์„์ˆ˜๋ก ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰๋„ ์ค„์–ด๋“ญ๋‹ˆ๋‹ค.

์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ๋‹ค๋ฃฐ ๋•Œ ์œ ๋…ํ•  ์ˆ˜ ์žˆ๋Š” ๋ช‡ ๊ฐ€์ง€ ์‚ฌํ•ญ์ž…๋‹ˆ๋‹ค. ๋‹ค๋งŒ ์ด๋Ÿฌํ•œ ์‚ฌํ•ญ๋“ค์€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์— ์žˆ์–ด "๊ฒฐ์ •์ ์ธ" ์˜ํ–ฅ์„ ์ฃผ์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์€ ๋Œ€๋ถ€๋ถ„ ASF๊ฐ€ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๋Š” ์ž‘์—… ์ž์ฒด์—์„œ ๋น„๋กฏ๋˜๋ฉฐ, ์นด๋“œ ํŒŒ๋ฐ์„ ์œ„ํ•œ ๋‚ด๋ถ€ ๊ตฌ์กฐ์—์„œ ๋น„๋กฏ๋˜๋Š” ๊ฒƒ์ด ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

๋ฆฌ์†Œ์Šค๋ฅผ ๊ฐ€์žฅ ๋งŽ์ด ์†Œ๋ชจํ•˜๋Š” ๊ธฐ๋Šฅ์€ ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค:

  • ๋ฐฐ์ง€ ํŽ˜์ด์ง€ ํŒŒ์‹ฑ
  • ์ธ๋ฒคํ† ๋ฆฌ ํŒŒ์‹ฑ

์ฆ‰, ASF๊ฐ€ ๋ฐฐ์ง€ ํŽ˜์ด์ง€๋ฅผ ์ฝ๊ฑฐ๋‚˜ ์ธ๋ฒคํ† ๋ฆฌ๋ฅผ ๋‹ค๋ฃฐ ๋•Œ(์˜ˆ: ๊ฑฐ๋ž˜ ์ „์†ก์ด๋‚˜ STM ์ž‘์—… ์‹œ) ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ฐ€์žฅ ํฌ๊ฒŒ ์น˜์†Ÿ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ASF๊ฐ€ ๋งค์šฐ ๋ฐฉ๋Œ€ํ•œ ์–‘์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•ด์•ผ ํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์ด ์ฆ๊ฒจ ์“ฐ๋Š” ๋ธŒ๋ผ์šฐ์ €๋กœ ๊ทธ ๋‘ ํŽ˜์ด์ง€๋ฅผ ์—ด๋”๋ผ๋„ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์ด ๊ทธ๋ณด๋‹ค ๋‚ฎ์•„์ง€์ง€๋Š” ์•Š์„ ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์•ˆํƒ€๊น์ง€๋งŒ ์›๋ž˜ ๊ทธ๋Ÿฐ ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค - ๋ฐฐ์ง€ ํŽ˜์ด์ง€ ์ˆ˜๋ฅผ ์ค„์ด๊ณ  ์ธ๋ฒคํ† ๋ฆฌ ์•„์ดํ…œ ์ˆ˜๋ฅผ ์ ๊ฒŒ ์œ ์ง€ํ•˜๋ฉด ๋ถ„๋ช… ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.


๋Ÿฐํƒ€์ž„ ํŠœ๋‹ (๊ณ ๊ธ‰)

์•„๋ž˜ ๋ฐฉ๋ฒ•๋“ค์€ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๋™๋ฐ˜ํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Ÿฌํ•œ ์„ค์ •์„ ์ ์šฉํ•˜๋Š” ๊ถŒ์žฅ ๋ฐฉ๋ฒ•์€ DOTNET_ ํ™˜๊ฒฝ ์†์„ฑ์„ ํ†ตํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ๋ฌผ๋ก  runtimeconfig.json๊ณผ ๊ฐ™์€ ๋‹ค๋ฅธ ๋ฐฉ๋ฒ•๋„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์ง€๋งŒ, ์ผ๋ถ€ ์„ค์ •์€ ์ด ๋ฐฉ์‹์œผ๋กœ๋Š” ์ง€์ •์ด ๋ถˆ๊ฐ€๋Šฅํ•˜๋ฉฐ, ๊ฒŒ๋‹ค๊ฐ€ ASF๋Š” ๋‹ค์Œ ์—…๋ฐ์ดํŠธ ์‹œ ์‚ฌ์šฉ์ž ์ง€์ • runtimeconfig.json์„ ์ž์ฒด ํŒŒ์ผ๋กœ ๋ฎ์–ด์“ฐ๊ธฐ ๋•Œ๋ฌธ์—, ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹œ์ž‘ํ•˜๊ธฐ ์ „์— ์†์‰ฝ๊ฒŒ ์„ค์ •ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ ์†์„ฑ์„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ถŒ์žฅํ•ฉ๋‹ˆ๋‹ค.

.NET ๋Ÿฐํƒ€์ž„์€ ๋‹ค์–‘ํ•œ ๋ฐฉ์‹์œผ๋กœ ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ฅผ ์กฐ์ • ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•ด์ฃผ์–ด, ํ•„์š”์— ๋”ฐ๋ผ GC ํ”„๋กœ์„ธ์Šค๋ฅผ ์„ธ๋ฐ€ํ•˜๊ฒŒ ํŠœ๋‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์•„๋ž˜์—๋Š” ์ €ํฌ๊ฐ€ ํŠนํžˆ ์ค‘์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š” ์†์„ฑ๋“ค์„ ๋ฌธ์„œํ™”ํ•ด๋‘์—ˆ์Šต๋‹ˆ๋‹ค.

์ „์ฒด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ ๋Œ€๋น„ ํ—ˆ์šฉ๋˜๋Š” GC ํž™ ์‚ฌ์šฉ๋Ÿ‰ ๋น„์œจ์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

ASF ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ "ํ•˜๋“œ" ๋ฉ”๋ชจ๋ฆฌ ์ œํ•œ์œผ๋กœ, ์ด ์„ค์ •์€ GC๊ฐ€ ์ „์ฒด ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์•„๋‹Œ ์ผ๋ถ€๋งŒ ์‚ฌ์šฉํ•˜๋„๋ก ์กฐ์ •ํ•ฉ๋‹ˆ๋‹ค. ์„œ๋ฒ„ ํ™˜๊ฒฝ ๋“ฑ์—์„œ ์„œ๋ฒ„ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ผ์ • ๋น„์œจ๋งŒ ASF์— ํ• ๋‹นํ•˜๊ณ  ๊ทธ ์ด์ƒ์€ ์‚ฌ์šฉํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๊ณ  ์‹ถ์„ ๋•Œ ํŠนํžˆ ์œ ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ASF๊ฐ€ ์‚ฌ์šฉํ•  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ œํ•œํ•œ๋‹ค๊ณ  ํ•ด์„œ ํ•„์š”ํ•œ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น ์ž์ฒด๊ฐ€ ๋งˆ๋ฒ•์ฒ˜๋Ÿผ ์‚ฌ๋ผ์ง€๋Š” ๊ฒƒ์€ ์•„๋‹ˆ๋ผ๋Š” ์ ์— ์œ ์˜ํ•˜์„ธ์š”. ๋”ฐ๋ผ์„œ ์ด ๊ฐ’์„ ๋„ˆ๋ฌด ๋‚ฎ๊ฒŒ ์„ค์ •ํ•˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ(out of memory) ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•ด ASF ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ฐ•์ œ ์ข…๋ฃŒ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๋ฐ˜๋Œ€๋กœ ์ด ๊ฐ’์„ ์ถฉ๋ถ„ํžˆ ๋†’๊ฒŒ ์„ค์ •ํ•˜๋ฉด, ASF๊ฐ€ ํ˜„์‹ค์ ์œผ๋กœ ๊ฐ๋‹นํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ด์ƒ์„ ์ ˆ๋Œ€ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋„๋ก ๋ณด์žฅํ•˜๋ฉด์„œ๋„, ๋ถ€ํ•˜๊ฐ€ ๋†’์€ ์ƒํ™ฉ์—์„œ๋„ ์‹œ์Šคํ…œ์— ์–ด๋А ์ •๋„ ์—ฌ์œ ๋ฅผ ๋‚จ๊ฒจ์ค„ ์ˆ˜ ์žˆ๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค.

๊ฐ€๋น„์ง€ ์ปฌ๋ ‰์…˜ ๋นˆ๋„๋ฅผ ๋†’์ด๊ณ  ์ผ์‹œ ์ •์ง€ ์‹œ๊ฐ„์ด ๊ธธ์–ด์งˆ ์ˆ˜ ์žˆ๋Š” ๋Œ€๊ฐ€๋กœ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ ˆ์•ฝํ•˜๋„๋ก ๊ฐ€๋น„์ง€ ์ปฌ๋ ‰ํ„ฐ๋ฅผ ๊ตฌ์„ฑํ•ฉ๋‹ˆ๋‹ค.

0์—์„œ 9 ์‚ฌ์ด์˜ ๊ฐ’์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ํด์ˆ˜๋ก GC๋Š” ์„ฑ๋Šฅ๋ณด๋‹ค ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ์šฐ์„ ์ ์œผ๋กœ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค.

GC๊ฐ€ ๋” ์ ๊ทน์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ธฐ ์‹œ์ž‘ํ•˜๋Š” ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ๊ธฐ์ค€์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด ์„ค์ •์€ ์ „์ฒด OS ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์˜ ์ž„๊ณ„๊ฐ’์„ ๊ตฌ์„ฑํ•˜๋ฉฐ, ์ด ์ž„๊ณ„๊ฐ’์„ ๋„˜์œผ๋ฉด GC๊ฐ€ ๋” ์ ๊ทน์ ์œผ๋กœ ๋™์ž‘ํ•˜์—ฌ ๋” ์ง‘์ค‘์ ์ธ GC ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•จ์œผ๋กœ์จ OS์˜ ๋ฉ”๋ชจ๋ฆฌ ๋ถ€๋‹ด์„ ๋‚ฎ์ถ”๊ณ  ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋” ๋งŽ์€ ์—ฌ์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ OS์— ๋ฐ˜ํ™˜ํ•˜๋„๋ก ๋•์Šต๋‹ˆ๋‹ค. ์ด ์†์„ฑ์€ ์ „์ฒด OS ์„ฑ๋Šฅ์— ์žˆ์–ด "์œ„ํ—˜ ์ˆ˜์ค€"์ด๋ผ๊ณ  ํŒ๋‹จ๋˜๋Š” ์ตœ๋Œ€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰(๋ฐฑ๋ถ„์œจ)์œผ๋กœ ์„ค์ •ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’์€ 90%์ด๋ฉฐ, ๋ณดํ†ต 80~97% ๋ฒ”์œ„๋กœ ์œ ์ง€ํ•˜๋Š” ๊ฒƒ์ด ์ข‹์Šต๋‹ˆ๋‹ค. ๊ฐ’์ด ๋„ˆ๋ฌด ๋‚ฎ์œผ๋ฉด ๋ณ„๋‹ค๋ฅธ ์ด์œ  ์—†์ด GC๊ฐ€ ๋ถˆํ•„์š”ํ•˜๊ฒŒ ๊ณต๊ฒฉ์ ์œผ๋กœ ๋™์ž‘ํ•ด ์„ฑ๋Šฅ์ด ์ €ํ•˜๋  ์ˆ˜ ์žˆ๊ณ , ๊ฐ’์ด ๋„ˆ๋ฌด ๋†’์œผ๋ฉด ASF๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฐ˜ํ™˜ํ•ด ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ๋Š” ์ƒํ™ฉ์ž„์—๋„ ๋ถˆํ•„์š”ํ•˜๊ฒŒ OS์— ๋ถ€๋‹ด์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ตœ์ ํ™”ํ•˜๊ณ ์ž ํ•˜๋Š” GC ์ง€์—ฐ ์ˆ˜์ค€(latency level)์„ ์ง€์ •ํ•ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋ฌธ์„œํ™”๋˜์ง€ ์•Š์€ ์†์„ฑ์ด์ง€๋งŒ, GC ์„ธ๋Œ€์˜ ํฌ๊ธฐ๋ฅผ ์ œํ•œํ•จ์œผ๋กœ์จ GC๊ฐ€ ๋” ์ž์ฃผ, ๋” ์ ๊ทน์ ์œผ๋กœ ์ •๋ฆฌ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๋„๋ก ๋งŒ๋“ค์–ด ASF์—์„œ ๋งค์šฐ ํšจ๊ณผ์ ์œผ๋กœ ์ž‘๋™ํ•˜๋Š” ๊ฒƒ์œผ๋กœ ํ™•์ธ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๊ธฐ๋ณธ๊ฐ’(๊ท ํ˜• ์žกํžŒ) ์ง€์—ฐ ์ˆ˜์ค€์€ 1์ด์ง€๋งŒ, ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰ ์ตœ์ ํ™”๋ฅผ ์œ„ํ•ด์„œ๋Š” 0์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

์ด ๊ฐ’์„ ์„ค์ •ํ•˜๋ฉด, ์ž„์‹œ(ephemeral) ์„ธ๊ทธ๋จผํŠธ์— ๋Œ€ํ•ด ์ปค๋ฐ‹๋œ ๊ณต๊ฐ„์„ ๋” ์ ๊ทน์ ์œผ๋กœ ์ •๋ฆฌ(trim)ํ•ฉ๋‹ˆ๋‹ค. ์ด๋Š” ์ปค๋ฐ‹๋œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์ตœ๋Œ€ํ•œ ์ ๊ฒŒ ์œ ์ง€ํ•˜๊ณ ์ž ํ•˜๋Š” ๋‹ค์ˆ˜์˜ ์„œ๋ฒ„ ํ”„๋กœ์„ธ์Šค ์ธ์Šคํ„ด์Šค๋ฅผ ์‹คํ–‰ํ•  ๋•Œ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.

์ด ์„ค์ •์€ ๊ฐœ์„  ํšจ๊ณผ๊ฐ€ ํฌ์ง€๋Š” ์•Š์ง€๋งŒ, ํŠนํžˆ ์Šค๋ ˆ๋“œํ’€ ์ž‘์—…์„ ๋งŽ์ด ์‚ฌ์šฉํ•˜๋Š” ASF์˜ ๊ฒฝ์šฐ ์‹œ์Šคํ…œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•  ๋•Œ GC๋ฅผ ๋” ์ ๊ทน์ ์œผ๋กœ ๋™์ž‘ํ•˜๊ฒŒ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ ์ ˆํ•œ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•˜์—ฌ ์›ํ•˜๋Š” ์†์„ฑ์„ ํ™œ์„ฑํ™”ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, Linux(์…ธ)์—์„œ๋Š”:

# Don't forget to tune those if you're planning to make use of them
export DOTNET_GCHeapHardLimitPercent=0x4B # 75% as hex
export DOTNET_GCHighMemPercent=0x50 # 80% as hex

export DOTNET_GCConserveMemory=9
export DOTNET_GCLatencyLevel=0
export DOTNET_gcTrimCommitOnLowMemory=1

./ArchiSteamFarm # For OS-specific build
./ArchiSteamFarm.sh # For generic build

๋˜๋Š” Windows(ํŒŒ์›Œ์…ธ)์—์„œ๋Š”:

# Don't forget to tune those if you're planning to make use of them
$Env:DOTNET_GCHeapHardLimitPercent=0x4B # 75% as hex
$Env:DOTNET_GCHighMemPercent=0x50 # 80% as hex

$Env:DOTNET_GCConserveMemory=9
$Env:DOTNET_GCLatencyLevel=0
$Env:DOTNET_gcTrimCommitOnLowMemory=1

.\ArchiSteamFarm.exe # For OS-specific build
.\ArchiSteamFarm.cmd # For generic build

ํŠนํžˆ GCLatencyLevel์€ ๋งค์šฐ ์œ ์šฉํ•œ๋ฐ, ์ €ํฌ๊ฐ€ ๊ฒ€์ฆํ•œ ๋ฐ”์— ๋”ฐ๋ฅด๋ฉด ์ด ๋Ÿฐํƒ€์ž„ ์„ค์ •์€ ์„œ๋ฒ„ GC๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฒฝ์šฐ์—๋„ ์ฝ”๋“œ ์‹คํ–‰์„ ๋ฉ”๋ชจ๋ฆฌ ์ธก๋ฉด์—์„œ ์‹ค์ œ๋กœ ์ตœ์ ํ™”ํ•˜์—ฌ ํ‰๊ท  ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํฌ๊ฒŒ ๋‚ฎ์ถฐ์ค๋‹ˆ๋‹ค. OptimizationMode๋กœ ์ธํ•œ ์„ฑ๋Šฅ ์ €ํ•˜ ์—†์ด ASF์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ๋Ÿ‰์„ ํฌ๊ฒŒ ์ค„์ด๊ณ  ์‹ถ๋‹ค๋ฉด ์ ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ตœ๊ณ ์˜ ๋ฐฉ๋ฒ• ์ค‘ ํ•˜๋‚˜์ž…๋‹ˆ๋‹ค.


ASF ํŠœ๋‹ (์ค‘๊ธ‰)

์•„๋ž˜ ๋ฐฉ๋ฒ•๋“ค์€ ์‹ฌ๊ฐํ•œ ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๋™๋ฐ˜ํ•˜๋ฏ€๋กœ ์ฃผ์˜ํ•ด์„œ ์‚ฌ์šฉํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

  • ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ, ์ „์—ญ ์„ค์ • ์†์„ฑ ์ธ OptimizationMode๋ฅผ ํ†ตํ•ด ASF๋ฅผ MinMemoryUsage๋กœ ํŠœ๋‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ๋ฉ”๋ชจ๋ฆฌ ์ ˆ์•ฝ ํšจ๊ณผ๋Š” ๊ฑฐ์˜ ์—†์œผ๋ฉด์„œ ์„ฑ๋Šฅ์€ ์‹ฌ๊ฐํ•˜๊ฒŒ ์ €ํ•˜๋˜๋Š” ์„ค์ •์ด๋ฏ€๋กœ, ๊ทธ ๋ชฉ์ ์„ ์‹ ์ค‘ํžˆ ์ฝ์–ด๋ณด์‹œ๊ธฐ ๋ฐ”๋ž๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ฐ˜์ ์œผ๋กœ ์ •๋ง ์–ด์ฉ” ์ˆ˜ ์—†์„ ๋•Œ ๋งˆ์ง€๋ง‰์œผ๋กœ ์‹œ๋„ํ•ด์•ผ ํ•  ๋ฐฉ๋ฒ• ์ด๋ฉฐ, ๋Ÿฐํƒ€์ž„ ํŠœ๋‹ ์„ ์ถฉ๋ถ„ํžˆ ๊ฑฐ์นœ ํ›„์—๋„ ์–ด์ฉ” ์ˆ˜ ์—†์ด ์ด ๋ฐฉ๋ฒ•์„ ์จ์•ผ ํ•˜๋Š” ์ƒํ™ฉ์ด์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์„ค์ •์ƒ ๋ฐ˜๋“œ์‹œ ํ•„์š”ํ•œ ๊ฒฝ์šฐ๊ฐ€ ์•„๋‹ˆ๋ผ๋ฉด, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ์ œํ•œ๋œ ํ™˜๊ฒฝ์—์„œ๋„ MinMemoryUsage ์‚ฌ์šฉ์€ ๊ถŒ์žฅํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.

์ถ”์ฒœ ์ตœ์ ํ™”

  • ๋จผ์ € ์ผ๋ฐ˜(generic) ASF ๋ฒ„์ „ ๊ณผ ๊ฐ™์€ ๊ฐ„๋‹จํ•œ ASF ์„ค์ • ํŒ๋ถ€ํ„ฐ ์‹œ์ž‘ํ•ด์„œ, ํ˜น์‹œ ๋ชจ๋“  ๋ด‡์— ๋Œ€ํ•ด ํ”„๋กœ์„ธ์Šค๋ฅผ ์—ฌ๋Ÿฌ ๋ฒˆ ์‹คํ–‰ํ•˜๊ฑฐ๋‚˜, ์ž๋™ ์‹œ์ž‘์ด ํ•„์š”ํ•œ ๋ด‡์ด ํ•œ๋‘ ๊ฐœ๋ฟ์ธ๋ฐ๋„ ์ „๋ถ€ ํ™œ์„ฑ ์ƒํƒœ๋กœ ๋‘๋Š” ๋“ฑ ASF๋ฅผ ์ž˜๋ชป๋œ ๋ฐฉ์‹์œผ๋กœ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€๋Š” ์•Š์€์ง€ ํ™•์ธํ•˜์„ธ์š”.
  • ๊ทธ๋ž˜๋„ ๋ถ€์กฑํ•˜๋‹ค๋ฉด, ์œ„์—์„œ ์„ค๋ช…ํ•œ ์ ์ ˆํ•œ DOTNET_ ํ™˜๊ฒฝ ๋ณ€์ˆ˜๋ฅผ ์„ค์ •ํ•ด์„œ ๋ชจ๋“  ๊ตฌ์„ฑ ์†์„ฑ์„ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. ํŠนํžˆ GCLatencyLevel์€ ์„ฑ๋Šฅ ์†์‹ค์€ ํฌ์ง€ ์•Š์œผ๋ฉด์„œ๋„ ์ƒ๋‹นํ•œ ๋Ÿฐํƒ€์ž„ ๊ฐœ์„  ํšจ๊ณผ๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ๊ทธ๋ž˜๋„ ๋„์›€์ด ๋˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ์ตœํ›„์˜ ์ˆ˜๋‹จ์œผ๋กœ MinMemoryUsage OptimizationMode๋ฅผ ํ™œ์„ฑํ™”ํ•˜์„ธ์š”. ์ด ์„ค์ •์€ ASF๊ฐ€ ๊ฑฐ์˜ ๋ชจ๋“  ์ž‘์—…์„ ๋™๊ธฐ์ ์œผ๋กœ ์‹คํ–‰ํ•˜๋„๋ก ๊ฐ•์ œํ•˜์—ฌ, ๋™์ž‘ ์†๋„๋Š” ํ›จ์”ฌ ๋А๋ ค์ง€์ง€๋งŒ ๋ณ‘๋ ฌ ์‹คํ–‰ ์‹œ ์Šค๋ ˆ๋“œ ํ’€์— ์˜์กดํ•˜์ง€ ์•Š๊ฒŒ ๋˜์–ด ๋ถ€ํ•˜๋ฅผ ๋ถ„์‚ฐ์‹œํ‚ค๋Š” ๋ฐ๋Š” ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

์ด ์ƒํƒœ์—์„œ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋” ์ด์ƒ ๋ฌผ๋ฆฌ์ ์œผ๋กœ ์ค„์ผ ์ˆ˜ ์—†์œผ๋ฉฐ, ์—ฌ๋Ÿฌ๋ถ„์˜ ASF๋Š” ์ด๋ฏธ ์ฝ”๋“œ์ ์œผ๋กœ๋„ ๋Ÿฐํƒ€์ž„์ ์œผ๋กœ๋„ ๊ฐ€๋Šฅํ•œ ๋ชจ๋“  ๋ฐฉ๋ฒ•์„ ์†Œ์ง„ํ•˜์—ฌ ์„ฑ๋Šฅ์ด ํฌ๊ฒŒ ์ €ํ•˜๋œ ์ƒํƒœ์ž…๋‹ˆ๋‹ค. ASF๊ฐ€ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์—ฌ์œ  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์กฐ๊ธˆ์ด๋ผ๋„ ์ถ”๊ฐ€ํ•˜๋Š” ๊ฒƒ์„ ๊ณ ๋ คํ•ด๋ณด์„ธ์š”. 128MB๋งŒ ๋Š˜๋ ค๋„ ํฐ ์ฐจ์ด๋ฅผ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

en-US de-DE es-ES lol-US
pt-BR ru-RU zh-CN zh-TW

๐Ÿ‘จโ€๐Ÿซ ๊ธฐ๋ณธ

๐Ÿ‘จโ€๐ŸŽ“๏ธ ๋ฉ”์ธ

๐Ÿง™ ๊ณ ๊ธ‰

๐Ÿ‘ท ๊ฐœ๋ฐœ์ž

Clone this wiki locally