์ด ์˜์—ญ์„ ๋ˆ„๋ฅด๋ฉด ์ฒซ ํŽ˜์ด์ง€๋กœ ์ด๋™
caputdraconis ๋ธ”๋กœ๊ทธ์˜ ์ฒซ ํŽ˜์ด์ง€๋กœ ์ด๋™

caputdraconis

ํŽ˜์ด์ง€ ๋งจ ์œ„๋กœ ์˜ฌ๋ผ๊ฐ€๊ธฐ

caputdraconis

๋„คํŠธ์›Œํฌ ๊ด€์ ์—์„œ์˜ ํด๋ผ์šฐ๋“œ ์ปดํ“จํŒ…์„ ๊ณต๋ถ€ํ•˜๋Š” ์ค‘์ž…๋‹ˆ๋‹ค :)

[Linux] free

  • 2023.07.28 05:02
  • ๊ฒ…๋ถ€๊ฒ…๋ถ€๐Ÿ™ƒ/Computing System
๊ธ€ ์ž‘์„ฑ์ž: caputdraconis
๋ฐ˜์‘ํ˜•

free ๋ช…๋ น์–ด๋Š”?

free ๋Š” ์‹œ์Šคํ…œ์˜ ๋ฉ”๋ชจ๋ฆฌ ์ •๋ณด๋ฅผ ์ถœ๋ ฅํ•˜๋Š” ๋ฆฌ๋ˆ…์Šค ๋ช…๋ น์–ด์ž…๋‹ˆ๋‹ค. ๋‹จ์œ„๋ฅผ megabyte ๋กœ ์„ค์ •ํ•˜์—ฌ ์ถœ๋ ฅํ•˜๋ผ๋Š” -m ์˜ต์…˜์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์•„๋ž˜์™€ ๊ฐ™์€ ์ถœ๋ ฅ๊ฐ’์ด ๋‚˜์˜ต๋‹ˆ๋‹ค.

์ถœ๋ ฅ๊ฐ’์„ ์‚ดํŽด๋ณด๋ฉด total, used, free, shared, buff/cache, available ์™€ ๊ฐ™์€ ์ปฌ๋Ÿผ์ด ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. total ๊ณผ used ๋Š” ๊ฐ๊ฐ ๋ฉ”๋ชจ๋ฆฌ ์ด๋Ÿ‰๊ณผ ์‚ฌ์šฉ ์ค‘์ธ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

๊ทธ๋ ‡๋‹ค๋ฉด free์™€ available ์˜ ์ฐจ์ด๋Š”?

์šฐ์„  free ๋Š” ์–ด๋А ํ”„๋กœ์„ธ์Šค๋„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ์ง€ ์•Š์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋ฐ”๋กœ ํ• ๋‹นํ•ด์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค. ์ด์— ๋ฐ˜ํ•ด available ์€ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์‹ค์งˆ์ ์œผ๋กœ ํ• ๋‹น์ด ๊ฐ€๋Šฅํ•œ ๋ฉ”๋ชจ๋ฆฌ์ž…๋‹ˆ๋‹ค. ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‚ฌ์šฉ์ค‘์ผ ์ˆ˜๋„ ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ•„์š”๋กœ ํ•˜๋ฉด, ๊ทธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๋„˜๊ฒจ์ค„ ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. 

์™œ ์ด๋Ÿฐ ์ฐจ์ด๊ฐ€ ๋ฐœ์ƒํ• ๊นŒ?

๊ทธ ์ด์œ ๋Š” ๋ฐ”๋กœ buff์™€ cache ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ buff ๋ž€ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ๋ธ”๋ก ์ž์ฒด์— ๋Œ€ํ•œ ์บ์‹œ, cache ๋ž€ I/O ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.

์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ A์™€ B๊ฐ€ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค๋กœ๋ถ€ํ„ฐ test.txt ๋ผ๋Š” ํ•œ ํŒŒ์ผ์„ open ํ•˜๋ ค๊ณ  ํ•  ๋•Œ, ๊ฐ๊ฐ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค๋กœ๋ถ€ํ„ฐ ์ฝ๊ฒŒ ๋˜๋ฉด I/O ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ๋ฐฉ์ง€ํ•˜๊ธฐ ์œ„ํ•ด ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜๊ณผ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค ์‚ฌ์ด์— ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ์œ„์น˜ํ•˜์—ฌ, ํŽ˜์ด์ง€ ์บ์‹œ๋กœ๋ถ€ํ„ฐ ์›ํ•˜๋Š” ํŒŒ์ผ์„ ์ฝ์Šต๋‹ˆ๋‹ค. ๋งŒ์•ฝ ํŽ˜์ด์ง€ ์บ์‹œ์— ์ฝ์œผ๋ ค๋Š” ํŒŒ์ผ์ด ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค๋ฉด, ๋ธ”๋ก ๋””๋ฐ”์ด์Šค๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์„ ์ฝ์–ด์˜ค๊ณ  ํŽ˜์ด์ง€ ์บ์‹œ์— ์ €์žฅํ•ฉ๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ์บ์‹œ๋ฅผ ํ†ตํ•ด ๋ธ”๋ก ๋””๋ฐ”์ด์Šค์˜ I/O ์„ฑ๋Šฅ์„ ์œ ์ง€ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ์บ์‹œ, ์ฆ‰ ๋ฉ”๋ชจ๋ฆฌ๋กœ๋ถ€ํ„ฐ ํŒŒ์ผ์˜ ๋‚ด์šฉ์„ ๊ฐ€์ ธ์˜ค๋Š” ๊ฒƒ์€ I/O๊ฐ€ ์•„๋‹ˆ๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค.

buff ์™€ cache ๋Š” I/O ์„ฑ๋Šฅ ํ–ฅ์ƒ์„ ์œ„ํ•ด์„œ ์กด์žฌํ•ฉ๋‹ˆ๋‹ค. ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์—์„œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ•„์š”๋กœ ํ•œ๋‹ค๋ฉด, I/O ์„ฑ๋Šฅ ์ €ํ•˜๋ฅผ ๊ฐ๋‚ดํ•˜๋ฉฐ buff/cache ์˜์—ญ์„ ํ•ด์ œํ•˜๊ณ  ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์ด ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์˜์—ญ์œผ๋กœ ๋ฐ”๊ฟ€ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์•„๋ž˜์™€ ๊ฐ™์€ ์ˆ˜์‹์ด ์ •์˜๋ฉ๋‹ˆ๋‹ค. ์ •ํ™•ํ•œ ์‹์€ ์•„๋‹ˆ์ง€๋งŒ, ๋Œ€์ถฉ ์ด ์‹์„ ๋”ฐ๋ผ๊ฐ‘๋‹ˆ๋‹ค.

Available = free + buff/cache

swap

๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ๊ณต๊ฐ„์„ swap ์˜์—ญ์ด๋ผ๊ณ  ํ•ฉ๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋ธ”๋ก ๋””๋ฐ”์ด์Šค์˜ ์ผ๋ถ€ ์˜์—ญ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. 

ํ”„๋กœ์„ธ์Šค #2์— ํ• ๋‹นํ•  ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•ด์„œ, ํ”„๋กœ์„ธ์Šค #1์ด ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ 0 ์˜์—ญ์„ swap out ํ•ฉ๋‹ˆ๋‹ค. ๊ทธ๋ ‡๊ฒŒ ๋˜๋ฉด ๋ฉ”๋ชจ๋ฆฌ 0 ์˜์—ญ์€ swap ์˜์—ญ์œผ๋กœ ๋„˜์–ด๊ฐ€๊ฒŒ ๋˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ 0 ์˜์—ญ์˜ ์›๋ž˜ ์œ„์น˜๋Š” ๋นˆ ์ง‘์ด ๋ฉ๋‹ˆ๋‹ค. ์ปค๋„์€ ์ด ๋นˆ ์ง‘์„ ํ”„๋กœ์„ธ์Šค #2 ์—๊ฒŒ ํ• ๋‹นํ•ฉ๋‹ˆ๋‹ค. 

 

ํ”„๋กœ์„ธ์Šค #1์ด ๋ฉ”๋ชจ๋ฆฌ 0 ์˜์—ญ์„ ์ฐธ์กฐํ•˜๊ธธ ์›ํ•œ๋‹ค๋ฉด ์–ด๋–ป๊ฒŒ ๋ ๊นŒ์š”?

0๋ฒˆ ์˜์—ญ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค #2 ๋ฉ”๋ชจ๋ฆฌ๋ฅผ swap ์˜์—ญ์œผ๋กœ swap out ํ•˜๊ณ , swap ์˜์—ญ์— ์žˆ๋˜ ํ”„๋กœ์„ธ์Šค #1 0๋ฒˆ ์˜์—ญ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋‹ค์‹œ swap in ํ•ด์˜ต๋‹ˆ๋‹ค. 0๋ฒˆ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ์˜ฌ๋ผ์™”์ง€๋งŒ, swap ์˜์—ญ์— ์žˆ๋˜ 0๋ฒˆ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์‚ญ์ œํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฐ ๋ถ€๋ถ„์„ swap cached ๋ผ๊ณ  ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋‚˜์ค‘์— swap in, swap out ์ด ๋˜ ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ด ์˜์—ญ์„ ์บ์‹ฑํ•ด๋†“๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. 

์ด์™€ ๊ฐ™์ด swap ์˜์—ญ์ด ์‚ฌ์šฉ๋˜๋ฉด ์„ฑ๋Šฅ ์ €ํ•˜๊ฐ€ ๋ฐœ์ƒํ•ฉ๋‹ˆ๋‹ค. ๋ฉ”๋ชจ๋ฆฌ ์ฐธ์กฐ์— I/O ๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•˜๊ธฐ ๋•Œ๋ฌธ์ž…๋‹ˆ๋‹ค. ๊ทธ ๊ฒฐ๊ณผ ๋‹ค์Œ๊ณผ ๊ฐ™์€ ๊ณ ๋ฏผ์— ๋น ์ง€๊ฒŒ ๋ฉ๋‹ˆ๋‹ค.

์„ฑ๋Šฅ์ด ๋–จ์–ด์ง€๋”๋ผ๋„ OOM Killer ์— ์˜ํ•ด ์ฃฝ๋Š”๊ฑธ ๋ง‰์„๊นŒ vs ์„ฑ๋Šฅ์ด ๋–จ์–ด์งˆ ๋ฐ”์—๋Š” OOM Killer ์— ์˜ํ•ด ์ฃฝ๋Š”๊ฒŒ ๋‚˜์„๊นŒ

์š”์ฆ˜์˜ ํŠธ๋ Œ๋“œ๋Š” swap ์˜์—ญ์„ ๋น„ํ™œ์„ฑํ™”, ์ฆ‰ ์„ฑ๋Šฅ์„ ์ง€ํ‚ค๊ณ  OOM Killer ์— ์˜ํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ๋Š” ๊ฒƒ์„ ์„ ํ˜ธํ•˜๋Š” ํŽธ์ž…๋‹ˆ๋‹ค. EC2 ๋„ ์ด๋Ÿฌํ•œ ํŠธ๋ Œ๋“œ์— ๋งž์ถฐ์„œ ๊ธฐ๋ณธ๊ฐ’์ด swap off ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ์„ ํƒ์˜ ์ด์œ ๋Š” ์ปจํ…Œ์ด๋„ˆ ํ™˜๊ฒฝ์„ ์ฃผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์š”์ฆ˜ ํŠธ๋ Œ๋“œ์— ์˜ํ•œ ๊ฒƒ์ž…๋‹ˆ๋‹ค. OOM Killer ์— ์˜ํ•ด ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋˜๋”๋ผ๋„ ์ปจํ…Œ์ด๋„ˆ๋ฅผ ๋น ๋ฅด๊ฒŒ ๋‹ค์‹œ ๋„์šธ ์ˆ˜ ์žˆ๊ธฐ ๋•Œ๋ฌธ์— ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ํ™˜๊ฒฝ์—์„œ๋Š” ๋Œ€๋ถ€๋ถ„ swap ์˜์—ญ์„ ๋น„ํ™œ์„ฑํ™” ํ•ฉ๋‹ˆ๋‹ค.

API ์„œ๋ฒ„์™€ ๊ฐ™์ด 1~2์ดˆ ์ •๋„ ๋‹ค์šด๋˜๋Š”๊ฑด ๊ทธ๋ ‡๊ฒŒ ํฌ๊ฒŒ ํฌ๋ฆฌํ‹ฐ์ปฌํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ DB ์„œ๋ฒ„์™€ ๊ฐ™์€ ๊ฒฝ์šฐ์—๋Š” EC2 + Swap ์˜์—ญ ์„ ์‚ฌ์šฉํ•˜์—ฌ ๋А๋ ค์ง€๋”๋ผ๋„ ๊ณ„์†ํ•ด์„œ ์šด์˜์ด ๋˜๋Š” ๊ฒƒ์ด ๋‚˜์„ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋А๋ ค์ง„๋‹ค๋ฉด ๋ชจ๋‹ˆํ„ฐ๋ง์„ ํ†ตํ•ด SWAP ์˜์—ญ์„ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋Š” ๊ฒƒ์„ ๋ฐœ๊ฒฌํ•˜๊ณ , ๋ฉ”๋ชจ๋ฆฌ ๋ฆญ๊ณผ ๊ฐ™์€ ๋ฌธ์ œ์ ์„ ์ฐพ์•„๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


์ •๋ฆฌ

buff/cache ๊ฐ€ ๋†’๋‹ค๋ฉด I/O ๊ฐ€ ๋นˆ๋ฒˆํ•˜๊ฒŒ ๋ฐœ์ƒํ•œ๋‹ค๋Š” ์˜๋ฏธ๋‹ค.

swap ์˜์—ญ์„ ์‚ฌ์šฉํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜๋‹ค๋Š” ์‹ ํ˜ธ๋‹ค.

๋ฐ˜์‘ํ˜•

๋Œ“๊ธ€

์ด ๊ธ€ ๊ณต์œ ํ•˜๊ธฐ

  • ๊ตฌ๋…ํ•˜๊ธฐ

    ๊ตฌ๋…ํ•˜๊ธฐ

  • ์นด์นด์˜คํ†ก

    ์นด์นด์˜คํ†ก

  • ๋ผ์ธ

    ๋ผ์ธ

  • ํŠธ์œ„ํ„ฐ

    ํŠธ์œ„ํ„ฐ

  • Facebook

    Facebook

  • ์นด์นด์˜ค์Šคํ† ๋ฆฌ

    ์นด์นด์˜ค์Šคํ† ๋ฆฌ

  • ๋ฐด๋“œ

    ๋ฐด๋“œ

  • ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ

    ๋„ค์ด๋ฒ„ ๋ธ”๋กœ๊ทธ

  • Pocket

    Pocket

  • Evernote

    Evernote

๋‹ค๋ฅธ ๊ธ€

  • [Linux] tcpdump

    [Linux] tcpdump

    2023.07.31
  • [Linux] top

    [Linux] top

    2023.07.30
  • [Linux] Syn Flooding

    [Linux] Syn Flooding

    2023.07.27
  • [Linux] OOME (Out-Of-Memory Error)

    [Linux] OOME (Out-Of-Memory Error)

    2023.07.27
๋‹ค๋ฅธ ๊ธ€ ๋” ๋‘˜๋Ÿฌ๋ณด๊ธฐ

์ •๋ณด

caputdraconis ๋ธ”๋กœ๊ทธ์˜ ์ฒซ ํŽ˜์ด์ง€๋กœ ์ด๋™

caputdraconis

  • caputdraconis์˜ ์ฒซ ํŽ˜์ด์ง€๋กœ ์ด๋™

๊ฒ€์ƒ‰

๋ฉ”๋‰ด

    ์นดํ…Œ๊ณ ๋ฆฌ

    • ๋ถ„๋ฅ˜ ์ „์ฒด๋ณด๊ธฐ (168)
      • Cloud (3)
      • Computer Network (12)
      • Database (2)
      • Terraform (2)
      • ๐Ÿฅš๊ณ ๋ฆฌ์ฆ˜ (13)
      • ๊ฒ…๋ถ€๊ฒ…๋ถ€๐Ÿ™ƒ (10)
        • Naver CS50 ์ฝ”์นญ์Šคํ„ฐ๋”” (2)
        • Machine Learning (1)
        • Computing System (6)
      • ์–ธ์–ด&ํ”„๋ ˆ์ž„์›Œํฌ (20)
        • Python (4)
        • Django (10)
        • Node JS (1)
        • C++ (2)
        • Java (1)
        • Flutter (2)
      • Security (76)
        • WebHacking Study (11)
        • ์ง€์˜ฅ๋ฐฉ ์Šคํ„ฐ๋”” (22)
        • ์—ฌ๋ฆ„๋ฐฉํ•™ ์Šคํ„ฐ๋”” (2)
        • PWN Study (6)
        • SUA Reversing Study (3)
        • PWN (3)
        • WebHacking (20)
        • Reversing (4)
      • ์•Œ๊ณ  ์žˆ์œผ๋ฉด ๋„์›€๋˜์ง€ ์•Š์„๊นŒ,,? (23)
      • ์ผ์ƒ๋‹ค๋ฐ˜์‚ฌ (1)
      • ๊ทผํ™ฉ ์ •๋ฆฌ (1)
      • 42 Seoul (1)
        • Setting (1)

    ์ตœ๊ทผ ๊ธ€

    ์ธ๊ธฐ ๊ธ€

    ๋Œ“๊ธ€

    ๊ณต์ง€์‚ฌํ•ญ

    ์•„์นด์ด๋ธŒ

    ํƒœ๊ทธ

    • ํŒŒ์ด์ฌ๊ธฐ์ดˆ
    • ํŒŒ์ด์ฌ
    • ๋ฆฌ์ŠคํŠธํ•จ์ˆ˜
    • Python
    • ๋“œ๋ฆผํ•ต
    • ์›นํ•ดํ‚น.kr
    • ํŒŒ์ด์ฌํ•จ์ˆ˜
    • old-16

    ๋‚˜์˜ ์™ธ๋ถ€ ๋งํฌ

    • Github
    • solved.ac
    • caputdraconis@kakao.com

    ์ •๋ณด

    caputdraconis์˜ caputdraconis

    caputdraconis

    caputdraconis

    ๋ธ”๋กœ๊ทธ ๊ตฌ๋…ํ•˜๊ธฐ

    • ๊ตฌ๋…ํ•˜๊ธฐ
    • RSS ํ”ผ๋“œ

    ๋ฐฉ๋ฌธ์ž

    • ์ „์ฒด ๋ฐฉ๋ฌธ์ž
    • ์˜ค๋Š˜
    • ์–ด์ œ

    ํ‹ฐ์Šคํ† ๋ฆฌ

    • ํ‹ฐ์Šคํ† ๋ฆฌ ํ™ˆ
    • ์ด ๋ธ”๋กœ๊ทธ ๊ด€๋ฆฌํ•˜๊ธฐ
    • ๊ธ€์“ฐ๊ธฐ
    Powered by Tistory / Kakao. Copyright © caputdraconis.

    ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”