freeing unused kernel memory..

지나가는새의 이미지

여러 플렛폼에서 저 위의 값이 각각 다르게 나오는걸 발견했습니다.

제가 사용해본 IBM440GX는 220k, mips는 48k이더군요.

물론, 두 칩의 클럭과 메모리가 다르지만, mips의 경우에는 다른 메모리 상황(256, 128, 64)에서도 역시 48K가 나오더군요.

저 다른 수치가 정확히 어떤것에 대한 지표인지 잘 모르겠습니다.

제가 알기로 커널의 메모리 사용은 일정부분을 가지고 있고, 만약 모자르면 조금씩 늘려서 사용하는것으로 알고 있는데요. 그렇다면 저 unused kernel memory만큼 사용할 수 있다는 것인가요?

- mips core, 128M
Memory: 125396k/129020k available (1409k kernel code, 3624k reserved, 75k data, 48k init, 0k highmem)
...
Freeing unused kernel memory: 48k freed

- mips core, 64M
Memory: 60820k/63484k available (1411k kernel code, 2664k reserved, 75k data, 48k init, 0k highmem)
...
Freeing unused kernel memory: 48k freed

- IBM core, 256M
Memory: 256988k available (1220k kernel code, 372k data, 220k init, 0k highmem)
...
Freeing unused kernel memory: 220k init

pastime의 이미지

부팅 시에 출력되는 메시지 같군요..

커널이 부팅될 때만 사용하는 함수/변수들이 있습니다.
이러한 함수/변수는 __init 또는 __initdata 라는 매크로를 사용하여 선언하며
링크 과정에서 특정 영역으로 (.init.text 혹은 .init.data) 링크됩니다.

이 영역의 코드/데이터는 부팅 이후 커널이 동작하는 동안에는 필요치 않기 때문에
커널의 부팅이 끝날 무렵에 init 쓰레드가 실행되는 과정에서
free_initmem() 함수를 통해 해제됩니다.

시스템의 메모리 크기가 달라져도
부팅 과정에서 사용되는 메모리의 양은 동일할 것이므로
해제되는 메모리의 크기는 같게 됩니다.

flyduck의 이미지

pasttime님이 잘 설명하셨는데, 커널을 초기화할 때만 필요한 코드와 데이터는 별도의 section에 들어 있어서 커널은 초기화를 마치고 그 메모리를 해제하는데, 아키텍쳐에 따라서 초기화 코드의 양이 틀리기 때문에 아키텍쳐에 따라서 해제되는 메모리의 양이 틀린 것입니다.

Freedom is another word for nothing left to lose,
Nothing doesn't mean nothing if it ain't free.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.