๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
๋ฐ˜์‘ํ˜•

์šฐ์„ ์ˆœ์œ„2

[JAVA] Priority Queue(์šฐ์„ ์ˆœ์œ„ ํ) ์šฐ์„ ์ˆœ์œ„ ์กฐ๊ฑด ๋ณ€๊ฒฝํ•˜๊ธฐ Priority Queue FIFO(First In First Out)์ธ ์ผ๋ฐ˜์ ์ธ Queue์™€ ๋‹ค๋ฅด๊ฒŒ Priority Queue๋Š” ์šฐ์„ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋จผ์ € Out๋œ๋‹ค. ๊ธฐ๋ณธ์ ์œผ๋กœ ์˜ค๋ฆ„์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•˜๊ฒŒ ๋˜๋Š”๋ฐ ์ •๋ ฌ ๊ธฐ์ค€์„ ๋ฐ”๊พธ๊ณ  ์‹ถ๋‹ค๋ฉด ๋žŒ๋‹ค์‹์„ ์ด์šฉํ•˜๊ฑฐ๋‚˜ Comparator, Comparable๋ฅผ ์ด์šฉํ•ด์•ผ ํ•œ๋‹ค. Integer๋Š” Collections.reverseOrder()๋ฅผ ํ†ตํ•ด ๊ฐ„๋‹จํ•˜๊ฒŒ ๋‚ด๋ฆผ์ฐจ์ˆœ ์ •๋ ฌ์„ ํ•  ์ˆ˜ ์žˆ๋‹ค. PriorityQueue pq = new PriorityQueue(Collections.reverseOrder()); pq.add(5); pq.add(7); pq.add(10); pq.add(3); System.out.println(pq.poll()); // 10 ์ถœ๋ ฅ add๊ฐ€ ์•„๋‹Œ.. 2022. 2. 7.
[Linux] OOM Killer๋ž€? Kill ๋Œ€์ƒ์—์„œ ์ œ์™ธ์‹œํ‚ค๊ธฐ ํšŒ์‚ฌ์—์„œ ๋‹ค๋ฅธ ํŒ€๋“ค๊ณผ ๊ณต์šฉ์œผ๋กœ ์‚ฌ์šฉํ•˜๋Š” ์„œ๋ฒ„๊ฐ€ ์žˆ๋Š”๋ฐ ์ž๊พธ ์ด์œ ์—†์ด ๋ฌด์ž‘์œ„๋กœ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃฝ๋Š” ํ˜„์ƒ์ด ๋ฐœ์ƒํ–ˆ๋‹ค. ๊ฐ ํ”„๋กœ์ ํŠธ์˜ ๋กœ๊ทธ๋ฅผ ๋ด๋„ ํŠน๋ณ„ํ•˜๊ฒŒ ๋‚จ์•„์žˆ๋Š”๊ฒŒ ์—†์—ˆ๊ณ .. ์›์ธ์€ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•˜์—ฌ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์ด OOM Killer ์ž‘์—…์„ ์‹คํ–‰ํ•œ ๊ฒƒ! OOM Killer๋ž€ ? OOM : Out of Memory ๋ฉ”๋ชจ๋ฆฌ ๋ถ€์กฑ์‹œ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•˜๊ธฐ ์œ„ํ•œ ๊ฒƒ์œผ๋กœ ํ”„๋กœ์„ธ์Šค์˜ ๋ฉ”๋ชจ๋ฆฌ ํ• ๋‹น์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋ถ€์กฑํ•œ ์ƒํ™ฉ์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด linux kernel์ด OOM Killer๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. (์ ์ˆ˜๋ฅผ ๋งค๊ฒจ ๋†’์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ฃฝ์—ฌ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ™•๋ณดํ•จ) ํ”„๋กœ์„ธ์Šค๋ฅผ ์ข…๋ฃŒ์‹œํ‚ค๋Š” ์ˆœ์œ„ oom_badnesss() ๋ฉ”์†Œ๋“œ์—์„œ ํ”„๋กœ์„ธ์Šค๋ณ„ ์ ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์„ ํƒ OOM Killer๋Š” ์ ์ˆ˜๋ฅผ ๋งค๊ฒจ ๊ฐ€์žฅ ๋†’์€ ์ ์ˆ˜๋ฅผ ๋ฐ›์€ ํ”„๋กœ์„ธ์Šค๋ถ€ํ„ฐ kill.. 2022. 1. 18.
728x90
๋ฐ˜์‘ํ˜•