Atime ์ ๋ฐ์ดํธ๋ ์์คํ ์ฑ๋ฅ์ ์ํฅ์ ๋ฏธ์นฉ๋๋ค. ๊ฑฐ๊ธฐ์์ ๋ฌด์จ ์ผ์ด ์ผ์ด๋๊ณ ์๊ณ ๊ทธ๊ฒ์ ๋ํด ๋ฌด์์ ํด์ผํ ์ง - ๊ธฐ์ฌ๋ฅผ ์ฝ์ผ์ญ์์ค.
์ง์ ์๋ ์ปดํจํฐ์์ Linux๋ฅผ ์
๋ฐ์ดํธํ ๋๋ง๋ค ํน์ ๋ฌธ์ ๋ฅผ ํด๊ฒฐํด์ผ ํฉ๋๋ค. ์๋
์ ๊ฑธ์ณ ์ด๊ฒ์ ์ต๊ด์ด ๋์์ต๋๋ค. ํ์ผ์ ๋ฐฑ์
ํ๊ณ , ์์คํ
์ ์ง์ฐ๊ณ , ๋ชจ๋ ๊ฒ์ ์ฒ์๋ถํฐ ์ค์นํ๊ณ , ํ์ผ์ ๋ณต์ํ ๋ค์, ์ฆ๊ฒจ ์ฌ์ฉํ๋ ์์ฉ ํ๋ก๊ทธ๋จ์ ๋ค์ ์ค์นํฉ๋๋ค. ์์คํ
์ค์ ๋ ๋์๊ฒ ๋ง๊ฒ ๋ณ๊ฒฝํฉ๋๋ค. ๋๋ก๋ ์๊ฐ์ด ๋๋ฌด ๋ง์ด ๊ฑธ๋ฆฝ๋๋ค. ๊ทธ๋ฆฌ๊ณ ์ต๊ทผ์๋ ์ด๋ฐ ๋ํต์ด ํ์ํ์ง ๊ถ๊ธํ์ต๋๋ค.
์๊ฐ Linux์ ํ์ผ์ ๋ํ ์ธ ๊ฐ์ง ํ์์คํฌํ ์ค ํ๋์
๋๋ค(๋์ค์ ์์ธํ ์ค๋ช
). ํนํ ์ต์ Linux ์์คํ
์์๋ atime์ ๋นํ์ฑํํ๋ ๊ฒ์ด ์ฌ์ ํ ์ข์ ์๊ฐ์ธ์ง ๊ถ๊ธํฉ๋๋ค. atime์ ํ์ผ์ ์ ๊ทผํ ๋๋ง๋ค ์
๋ฐ์ดํธ๋๊ธฐ ๋๋ฌธ์ ์์คํ
์ฑ๋ฅ์ ํฐ ์ํฅ์ ๋ฏธ์น๋ค๋ ๊ฒ์ ๊นจ๋ฌ์์ต๋๋ค.
๋๋ ์ต๊ทผ Fedora 32๋ก ์
๊ทธ๋ ์ด๋ํ๊ณ ์ต๊ด์ ์ผ๋ก atime์ ๋นํ์ฑํํ๋ ๊ฒ์ผ๋ก ์์ํ์ต๋๋ค. ๋๋ ์๊ฐํ์ต๋๋ค. ์ ๋ง ํ์ํ๊ฐ์? ๋๋ ์ด ๋ฌธ์ ๋ฅผ ์ฐ๊ตฌํ๊ธฐ๋ก ๊ฒฐ์ ํ๊ณ ์ด๊ฒ์ด ๋ด๊ฐ ํํค์น ๊ฒ์
๋๋ค.
ํ์ผ ํ์์คํฌํ์ ๋ํด ์กฐ๊ธ
์ด๋ฅผ ํ์ ํ๋ ค๋ฉด ํ ๊ฑธ์ ๋ฌผ๋ฌ์์ Linux ํ์ผ ์์คํ ๊ณผ ์ปค๋ ํ์์คํฌํ ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ์ ๋ํ ๋ช ๊ฐ์ง ์ฌํญ์ ๊ธฐ์ตํด์ผ ํฉ๋๋ค. ๋ค์ ๋ช ๋ น์ ์คํํ๋ฉด ํ์ผ ๋ฐ ๋๋ ํฐ๋ฆฌ์ ๋ง์ง๋ง ์์ ๋ ์ง๋ฅผ ํ์ธํ ์ ์์ต๋๋ค. ls -l (๊ธด) ๋๋ ํ์ผ ๊ด๋ฆฌ์์์ ํด๋น ์ ๋ณด๋ฅผ ํ์ธํ๋ฉด ๋ฉ๋๋ค. ๊ทธ๋ฌ๋ ๊ทธ ๋ค์์ Linux ์ปค๋์ ํ์ผ๊ณผ ๋๋ ํฐ๋ฆฌ์ ๋ํ ์ฌ๋ฌ ํ์์คํฌํ๋ฅผ ์ถ์ ํฉ๋๋ค.
- ํ์ผ์ด ๋ง์ง๋ง์ผ๋ก ์์ ๋ ์๊ธฐ(mtime)
- ํ์ผ ์์ฑ๊ณผ ๋ฉํ๋ฐ์ดํฐ๊ฐ ๋ง์ง๋ง์ผ๋ก ๋ณ๊ฒฝ๋ ์๊ฐ์ ์ธ์ ์ ๋๊น(ctime)
- ํ์ผ์ด ๋ง์ง๋ง์ผ๋ก ์ก์ธ์ค๋ ์๊ธฐ(atime)
- ๋น์ ์ ๋ช ๋ น์ ์ฌ์ฉํ ์ ์์ต๋๋ค ์คํฏํ์ผ์ด๋ ๋๋ ํฐ๋ฆฌ์ ๋ํ ์ ๋ณด๋ฅผ ๋ณด๋ ค๋ฉด ์ฌ๊ธฐ ํ์ผ์ด ์์ต๋๋ค / etc / fstab ๋ด ํ ์คํธ ์๋ฒ ์ค ํ๋์์:
$ stat fstab
File: fstab
Size: 261 Blocks: 8 IO Block: 4096 regular file
Device: b303h/45827d Inode: 2097285 Links: 1
Access: (0664/-rw-rw-r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: system_u:object_r:etc_t:s0
Access: 2019-04-25 21:10:18.083325111 -0500
Modify: 2019-05-16 10:46:47.427686706 -0500
Change: 2019-05-16 10:46:47.434686674 -0500
Birth: 2019-04-25 21:03:11.840496275 -0500
์ฌ๊ธฐ์๋ ์ด ํ์ผ์ด ์์คํ ์ ์ค์นํ 25๋ 2019์ XNUMX์ผ์ ์์ฑ๋์์์ ํ์ธํ ์ ์์ต๋๋ค. ๋ด ํ์ผ / etc / fstab ์(๋) 16๋ 2019์ XNUMX์ผ์ ๋ง์ง๋ง์ผ๋ก ์์ ๋์์ผ๋ฉฐ, ๋ค๋ฅธ ๋ชจ๋ ์์ฑ๋ ๊ฐ์ ์๊ธฐ์ ๋ณ๊ฒฝ๋์์ต๋๋ค.
๋ด๊ฐ ๋ณต์ฌํ๋ฉด / etc / fstab ์ ํ์ผ์ ์ถ๊ฐํ๋ฉด ์ ํ์ผ์์ ๋ํ๋ด๊ธฐ ์ํด ๋ ์ง๊ฐ ๋ณ๊ฒฝ๋ฉ๋๋ค.
$ sudo cp fstab fstab.bak
$ stat fstab.bak
File: fstab.bak
Size: 261 Blocks: 8 IO Block: 4096 regular file
Device: b303h/45827d Inode: 2105664 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:53:58.443659981 -0500
Birth: 2020-05-12 17:53:58.442659986 -0500
๊ทธ๋ฌ๋ ๋ด์ฉ์ ๋ณ๊ฒฝํ์ง ์๊ณ ํ์ผ ์ด๋ฆ์ ๋ฐ๊พธ๋ฉด Linux๋ ํ์ผ์ด ์์ ๋ ์๊ฐ๋ง ์ ๋ฐ์ดํธํฉ๋๋ค.
$ sudo mv fstab.bak fstab.tmp
$ stat fstab.tmp
File: fstab.tmp
Size: 261 Blocks: 8 IO Block: 4096 regular file
Device: b303h/45827d Inode: 2105664 Links: 1
Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root)
Context: unconfined_u:object_r:etc_t:s0
Access: 2020-05-12 17:53:58.442659986 -0500
Modify: 2020-05-12 17:53:58.443659981 -0500
Change: 2020-05-12 17:54:24.576508232 -0500
Birth: 2020-05-12 17:53:58.442659986 -0500
์ด๋ฌํ ํ์์คํฌํ๋ ํน์ Unix ํ๋ก๊ทธ๋จ์ ๋งค์ฐ ์ ์ฉํฉ๋๋ค. ์๋ฅผ ๋ค์ด, biff๋ ์ด๋ฉ์ผ์ ์ ๋ฉ์์ง๊ฐ ์์ ๋ ์ด๋ฅผ ์๋ ค์ฃผ๋ ํ๋ก๊ทธ๋จ์
๋๋ค. ์์ฆ์ ์ด์ฉํ๋ ์ฌ๋์ด ๊ฑฐ์ ์๋๋ผ๊ตฌ์
๋ฐ์ํธ์งํจ์ ์ ๋ฉ์ผ์ด ์๋์ง ํ๋ก๊ทธ๋จ์ด ์ด๋ป๊ฒ ์ ์ ์๋์? biff๋ ๋ง์ง๋ง ์์ ์๊ฐ(๋ฐ์ ํธ์งํจ ํ์ผ์ด ์ ์ด๋ฉ์ผ ๋ฉ์์ง๋ก ์ ๋ฐ์ดํธ๋ ์๊ฐ)๊ณผ ๋ง์ง๋ง ์ก์ธ์ค ์๊ฐ(์ด๋ฉ์ผ์ ๋ง์ง๋ง์ผ๋ก ์ฝ์ ์๊ฐ)์ ๋น๊ตํฉ๋๋ค. ์ก์ธ์ค ์ดํ์ ๋ณ๊ฒฝ ์ฌํญ์ด ๋ฐ์ํ ๊ฒฝ์ฐ Biff๋ ์ ํธ์ง๊ฐ ๋์ฐฉํ์์ ์ดํดํ๊ณ ์ด์ ๋ํด ์๋ ค์ค ๊ฒ์ ๋๋ค. Mutt ์ด๋ฉ์ผ ํด๋ผ์ด์ธํธ๋ ๊ฑฐ์ ๋์ผํ ๋ฐฉ์์ผ๋ก ์๋ํฉ๋๋ค.
๋ง์ง๋ง ์ก์ธ์ค ํ์์คํฌํ๋ ํ์ผ ์์คํ ์ฌ์ฉ ํต๊ณ๋ฅผ ์์งํ๊ณ ์ฑ๋ฅ์ ์กฐ์ ํด์ผ ํ๋ ๊ฒฝ์ฐ์๋ ์ ์ฉํฉ๋๋ค. ์์คํ ๊ด๋ฆฌ์๋ ๊ทธ์ ๋ฐ๋ผ ํ์ผ ์์คํ ์ ๊ตฌ์ฑํ ์ ์๋๋ก ์ด๋ค ๊ฐ์ฒด์ ์ก์ธ์คํ๊ณ ์๋์ง ์์์ผ ํฉ๋๋ค.
๊ทธ๋ฌ๋ ๋๋ถ๋ถ์ ์ต์ ํ๋ก๊ทธ๋จ์๋ ๋ ์ด์ ์ด ๋ ์ด๋ธ์ด ํ์ํ์ง ์์ผ๋ฏ๋ก ์ด ๋ ์ด๋ธ์ ์ฌ์ฉํ์ง ์๋ ๊ฒ์ด ์ข์ต๋๋ค. 2007๋ ์ Linus Torvalds์ ๋ช๋ช ๋ค๋ฅธ ์ปค๋ ๊ฐ๋ฐ์๋ค์ ์ฑ๋ฅ ๋ฌธ์ ์ ๋งฅ๋ฝ์์ atime์ ๋ ผ์ํ์ต๋๋ค. Linux ์ปค๋ ๊ฐ๋ฐ์ Ingo Molnar๋ atime ๋ฐ ext3 ํ์ผ ์์คํ ์ ๋ํด ๋ค์๊ณผ ๊ฐ์ ์ ์ ์ง์ ํ์ต๋๋ค.
"์ค์ ์ฌ์ฉ์๊ฐ ๋ ๋ช ๋ฟ์ธ๋ฐ๋ ๋ถ๊ตฌํ๊ณ ๋ชจ๋ Linux ๋ฐ์คํฌํฑ๊ณผ ์๋ฒ๊ฐ ์ง์์ ์ธ atime ์ ๋ฐ์ดํธ๋ก ์ธํด ๋์ ๋๋ I/O ์ฑ๋ฅ ์ ํ๋ฅผ ๊ฒช๋๋ค๋ ๊ฒ์ ๋งค์ฐ ์ด์ํฉ๋๋ค. tmpwatch(ctime์ ์ฌ์ฉํ๋๋ก ๊ตฌ์ฑํ ์ ์์ผ๋ฏ๋ก ํฐ ๋ฌธ์ ๋ ์๋)์ ์ผ๋ถ ๋ฐฑ์ ๋๊ตฌ."
ํ์ง๋ง ์ฌ๋๋ค์ ์ฌ์ ํ โโ์ด ๋ผ๋ฒจ์ด ํ์ํ ์ผ๋ถ ํ๋ก๊ทธ๋จ์ ์ฌ์ฉํ๊ณ ์์ต๋๋ค. ๋ฐ๋ผ์ atime์ ์ ๊ฑฐํ๋ฉด ๊ธฐ๋ฅ์ด ์ค๋จ๋ฉ๋๋ค. ๋ฆฌ๋ ์ค ์ปค๋ ๊ฐ๋ฐ์๋ ์ฌ์ฉ์์ ์์ ๋ฅผ ์นจํดํด์๋ ์ ๋ฉ๋๋ค.
์๋ก๋ชฌ์ ํด๊ฒฐ์ฑ
Linux ๋ฐฐํฌํ์๋ ๋ง์ ์์ฉ ํ๋ก๊ทธ๋จ์ด ํฌํจ๋์ด ์์ผ๋ฉฐ ๋ํ ์ฌ์ฉ์๋ ํ์์ ๋ฐ๋ผ ๋ค๋ฅธ ํ๋ก๊ทธ๋จ์ ๋ค์ด๋ก๋ํ๊ณ ์ค์นํ ์ ์์ต๋๋ค. ์ด๋ ์คํ์์ค OS์ ์ฃผ์ ์ฅ์ ์ ๋๋ค. ๊ทธ๋ฌ๋ ์ด๋ก ์ธํด ํ์ผ ์์คํ ์ฑ๋ฅ์ ์ต์ ํํ๊ธฐ๊ฐ ์ด๋ ต์ต๋๋ค. ๋ฆฌ์์ค๋ฅผ ๋ง์ด ์ฌ์ฉํ๋ ๊ตฌ์ฑ ์์๋ฅผ ์ ๊ฑฐํ๋ฉด ์์คํ ์ด ์ค๋จ๋ ์ ์์ต๋๋ค.
์ ์ถฉ์์ผ๋ก Linux ์ปค๋ ๊ฐ๋ฐ์๋ ์ฑ๋ฅ๊ณผ ํธํ์ฑ ๊ฐ์ ๊ท ํ์ ์ ์งํ๊ธฐ ์ํ ์๋ก์ด ๋ฆด๋ ์ดํ์ ์ต์ ์ ๋์ ํ์ต๋๋ค.
atime์ ์ด์ ์ก์ธ์ค ์๊ฐ์ด ํ์ฌ ์์ ๋๋ ์ํ ๋ณ๊ฒฝ ์๊ฐ๋ณด๋ค ์์ ๊ฒฝ์ฐ์๋ง ์ ๋ฐ์ดํธ๋ฉ๋๋ค... Linux 2.6.30๋ถํฐ ์ปค๋์ ๊ธฐ๋ณธ์ ์ผ๋ก ์ด ์ต์ ์ ์ฌ์ฉํฉ๋๋ค(noatime์ด ์ง์ ๋์ง ์์ ๊ฒฝ์ฐ)... ๋ํ Linux 2.6.30๋ถํฐ. 1์์๋ ํ์ผ์ ๋ง์ง๋ง ์ก์ธ์ค ์๊ฐ์ด XNUMX์ผ ์ด์ ์ง๋ ๊ฒฝ์ฐ ํญ์ ์ ๋ฐ์ดํธ๋ฉ๋๋ค.
์ต์ Linux ์์คํ (2.6.30๋ ์ ์ถ์๋ Linux 2009 ์ดํ)์ ์ด๋ฏธ ๋ฆด๋ ์ดํ์์ ์ฌ์ฉํ๊ณ ์์ด ์ฑ๋ฅ์ด ํฌ๊ฒ ํฅ์๋ ๊ฒ์ ๋๋ค. ์ฆ, ํ์ผ์ ๊ตฌ์ฑํ ํ์๊ฐ ์์ต๋๋ค. / etc / fstab, Relaytime์ ์ฌ์ฉํ๋ฉด ๊ธฐ๋ณธ๊ฐ์ ์ฌ์ฉํ ์ ์์ต๋๋ค.
noatime์ผ๋ก ์์คํ ์ฑ๋ฅ ํฅ์
๊ทธ๋ฌ๋ ์ต๋ ์ฑ๋ฅ์ ์ป๊ธฐ ์ํด ์์คํ ์ ์กฐ์ ํ๋ ค๋ ๊ฒฝ์ฐ์๋ atime์ ๋นํ์ฑํํ ์ ์์ต๋๋ค.
๋งค์ฐ ๋น ๋ฅธ ์ต์ ๋๋ผ์ด๋ธ(์: NVME ๋๋ Fast SSD)์์๋ ์ฑ๋ฅ ๋ณํ๊ฐ ํฌ๊ฒ ๋์ ๋์ง ์์ ์ ์์ง๋ง ์ฝ๊ฐ์ ์ฆ๊ฐ๊ฐ ์์ต๋๋ค.
atime์ด ํ์ํ ์ํํธ์จ์ด๋ฅผ ์ฌ์ฉํ์ง ์๋ ๊ฒฝ์ฐ ํ์ผ์์ noatime ์ต์ ์ ํ์ฑํํ์ฌ ์ฑ๋ฅ์ ์ฝ๊ฐ ํฅ์์ํฌ ์ ์์ต๋๋ค. /etc/fstab. ๊ทธ ํ์๋ ์ปค๋์ด ์ง์์ ์ผ๋ก ์ ๋ฐ์ดํธ๋์ง ์์ต๋๋ค. ํ์ผ ์์คํ ์ ๋ง์ดํธํ ๋ noatime ์ต์ ์ ์ฌ์ฉํ์ญ์์ค.
/dev/mapper/fedora_localhost--live-root / ext4 defaults,noatime,x-systemd.device-timeout=0 1 1
UUID=be37c451-915e-4355-95c4-654729cf662a /boot ext4 defaults,noatime 1 2
UUID=C594-12B1 /boot/efi vfat umask=0077,shortname=winnt 0 2
/dev/mapper/fedora_localhost--live-home /home ext4 defaults,noatime,x-systemd.device-timeout=0 1 2
/dev/mapper/fedora_localhost--live-swap none swap defaults,x-systemd.device-timeout=0 0 0
๋ณ๊ฒฝ ์ฌํญ์ ๋ค์์ ์ฌ๋ถํ ํ ๋ ์ ์ฉ๋ฉ๋๋ค.
๊ด๊ณ ์ ๊ถ๋ฆฌ์
์น์ฌ์ดํธ๋ฅผ ํธ์คํ
ํ๋ ค๋ฉด ์๋ฒ๊ฐ ํ์ํฉ๋๊น? ์ฐ๋ฆฌ ํ์ฌ๊ฐ ์ ๊ณตํ๋
์ถ์ฒ : habr.com