posix_madvise(3) - wariua/manpages-ko GitHub Wiki

NAME

posix_madvise - ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ํŒจํ„ด์— ๋Œ€ํ•œ ์กฐ์–ธ ์ฃผ๊ธฐ

SYNOPSIS

#include <sys/mman.h>

int posix_madvise(void *addr, size_t len, int advice);

glibc ๊ธฐ๋Šฅ ํ™•์ธ ๋งคํฌ๋กœ ์š”๊ฑด (feature_test_macros(7) ์ฐธ๊ณ ):

posix_madvise():
_POSIX_C_SOURCE >= 200112L

DESCRIPTION

์‘์šฉ์—์„œ posix_madvise() ํ•จ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•ด addr์—์„œ ์‹œ์ž‘ํ•ด len ๋ฐ”์ดํŠธ๋งŒํผ ์ด์–ด์ง€๋Š” ์ฃผ์†Œ ๋ฒ”์œ„ ๋‚ด ๋ฉ”๋ชจ๋ฆฌ์˜ ์˜ˆ์ƒ ์‚ฌ์šฉ ํŒจํ„ด์— ๋Œ€ํ•ด ์‹œ์Šคํ…œ์—๊ฒŒ ์กฐ์–ธํ•  ์ˆ˜ ์žˆ๋‹ค. ์‹œ์Šคํ…œ์—์„œ ์ž์œ ๋กœ์ด ๊ทธ ์กฐ์–ธ์„ ์ด์šฉํ•ด ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ์„ฑ๋Šฅ์„ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ (๋˜๋Š” ์กฐ์–ธ์„ ์™„์ „ํžˆ ๋ฌด์‹œํ•  ์ˆ˜) ์žˆ๋˜, posix_madvise() ํ˜ธ์ถœ์ด ์ง€์ • ๋ฒ”์œ„ ๋‚ด ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ์˜ ๋™์ž‘ ๊ฒฐ๊ณผ์—๋Š” ์˜ํ–ฅ์„ ์ฃผ์ง€ ์•Š๋Š”๋‹ค.

advice ์ธ์ž๋Š” ๋‹ค์Œ ์ค‘ ํ•˜๋‚˜์ด๋‹ค.

POSIX_MADV_NORMAL
์ง€์ •ํ•œ ์ฃผ์†Œ ๋ฒ”์œ„์˜ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์šฉ ํŒจํ„ด์— ๊ด€ํ•ด ์‘์šฉ์—์„œ ํ•ด ์ค„ ํŠน๋ณ„ํ•œ ์กฐ์–ธ์ด ์—†๋‹ค. ๊ธฐ๋ณธ ๋™์ž‘ ๋ฐฉ์‹์ด๋‹ค.
POSIX_MADV_SEQUENTIAL
์‘์šฉ์—์„œ ์ง€์ •ํ•œ ์ฃผ์†Œ ๋ฒ”์œ„์— ์ˆœ์ฐจ์ ์œผ๋กœ, ๋‚ฎ์€ ์ฃผ์†Œ๋ถ€ํ„ฐ ๋†’์€ ์ฃผ์†Œ๋กœ ์ ‘๊ทผํ•  ์˜ˆ์ •์ด๋‹ค.
POSIX_MADV_RANDOM
์‘์šฉ์—์„œ ์ง€์ •ํ•œ ์ฃผ์†Œ ๋ฒ”์œ„์— ์ž„์˜ ์ˆœ์„œ๋กœ ์ ‘๊ทผํ•  ์˜ˆ์ •์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏธ๋ฆฌ ์ฝ๊ธฐ๊ฐ€ ํ‰์ƒ์‹œ๋ณด๋‹ค ์“ธ๋ชจ๊ฐ€ ์—†์„ ์ˆ˜ ์žˆ๋‹ค.
POSIX_MADV_WILLNEED
์‘์šฉ์—์„œ ์ง€์ •ํ•œ ์ฃผ์†Œ ๋ฒ”์œ„์— ์กฐ๋งŒ๊ฐ„ ์ ‘๊ทผํ•  ์˜ˆ์ •์ด๋‹ค. ๋”ฐ๋ผ์„œ ๋ฏธ๋ฆฌ ์ฝ๊ธฐ๊ฐ€ ์ด๋“์ผ ์ˆ˜ ์žˆ๋‹ค.
POSIX_MADV_DONTNEED
์‘์šฉ์—์„œ ์ง€์ •ํ•œ ์ฃผ์†Œ ๋ฒ”์œ„์— ๋‹น๋ถ„๊ฐ„์€ ์ ‘๊ทผํ•˜์ง€ ์•Š์„ ์˜ˆ์ •์ด๋‹ค.

RETURN VALUE

์„ฑ๊ณต ์‹œ posix_madvise()๋Š” 0์„ ๋ฐ˜ํ™˜ํ•œ๋‹ค. ์‹คํŒจ ์‹œ ์–‘์ˆ˜ ์˜ค๋ฅ˜ ๋ฒˆํ˜ธ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

ERRORS

EINVAL
addr์ด ์‹œ์Šคํ…œ ํŽ˜์ด์ง€ ํฌ๊ธฐ์˜ ๋ฐฐ์ˆ˜๊ฐ€ ์•„๋‹ˆ๊ฑฐ๋‚˜ len์ด ์Œ์ˆ˜์ด๋‹ค.
EINVAL
advice๊ฐ€ ์œ ํšจํ•˜์ง€ ์•Š๋‹ค.
ENOMEM
์ง€์ •ํ•œ ๋ฒ”์œ„ ๋‚ด์˜ ์ฃผ์†Œ ์ผ๋ถ€ ๋‚ด์ง€ ์ „์ฒด๊ฐ€ ํ˜ธ์ถœ์ž ์ฃผ์†Œ ๊ณต๊ฐ„ ๋ฐ–์— ์žˆ๋‹ค.

VERSIONS

glibc ๋ฒ„์ „ 2.2์—์„œ posix_madvise() ์ง€์›์ด ์ฒ˜์Œ ๋“ฑ์žฅํ–ˆ๋‹ค.

CONFORMING TO

POSIX.1-2001.

NOTES

POSIX.1์—์„œ๋Š” len์ด 0์ผ ๋•Œ ๊ตฌํ˜„์—์„œ ์˜ค๋ฅ˜๋ฅผ ๋‚ด๋†“๋Š” ๊ฒƒ์„ ํ—ˆ์šฉํ•œ๋‹ค. ๋ฆฌ๋ˆ…์Šค์—์„œ๋Š” len์„ 0์œผ๋กœ ์ง€์ •ํ•˜๋Š” ๊ฒƒ์ด (์„ฑ๊ณต์„ ๋ฐ˜ํ™˜ํ•˜๋Š” no-op๋กœ) ํ—ˆ์šฉ๋œ๋‹ค.

glibc์—์„œ๋Š” madvise(2)๋ฅผ ์ด์šฉํ•ด ์ด ํ•จ์ˆ˜๋ฅผ ๊ตฌํ˜„ํ•œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ glibc 2.6๋ถ€ํ„ฐ POSIX_MADV_DONTNEED๋ฅผ no-op๋กœ ์ฒ˜๋ฆฌํ•œ๋‹ค. ๋Œ€์‘ํ•˜๋Š” madvise(2) ๊ฐ’ MADV_DONTNEED์˜ ๋™์ž‘์ด ํŒŒ๊ดด์  ๋ฐฉ์‹์ด๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค.

SEE ALSO

madvise(2), posix_fadvise(2)


2017-09-15

โš ๏ธ **GitHub.com Fallback** โš ๏ธ