free 출력값이 메모리용량과 틀리게 나오는데...

웃는 남자의 이미지

ASUS TUV4X 보드에 512MB 1개 / 256MB 2개로해서 1024MB 의 메모리를 달았습니다.
바이오스에서는 1024MB 로 메모리용량이 정확하게 인식이 됩니다.

그런데 부팅후 free 출력값이 다음과 같이 나옵니다.

nautilus ~ # free -m
             total       used       free     shared    buffers     cached
Mem:           884        350        534          0         38        167
-/+ buffers/cache:        144        739
Swap:          488          0        488

total 값이 1024 가 아닌 884 로 나오네요.

사라진 메모리를 어디서 찾을 수 있을까요? :roll:

시간의빛의 이미지

만약 하드웨어 문제가 아니라면, 커널에서 메모리 설정을 다시 만지고 재컴파일 하시기 바랍니다. 오래되서 기억이 가물가물하지만 아마도 High Memory나 메모리 크기 관련하여 설정을 해야 했던 걸로 기억됩니다.

cinsk의 이미지

kernel parameter에 "mem=1024M"를 추가해 보기 바랍니다.

고친 후 해야 할 것은,

첫째, 부팅 후 cat /proc/meminfo로 memory가 제대로 잡혔는지 확인.
둘째, 각 장치 (특히 PCI)들이 제대로 동작하는지 검사.
세째, 만약 둘째가 문제가 된다면, /usr/src/linux/Documentation/kernel-parameters.txt를 보고 memmap 등의 파라메터를 사용, 수정할 것.

정도입니다.

익명 사용자의 이미지

lowmem 한계가 884메가까지입니다.
커널에서 4G highmem 지원 옵션을 켜든지,
혹은 1g lowmem을 지원하는 패치를 하든지 하셔야 합니다.

웃는 남자의 이미지

답글 주신 분들께 감사드립니다. :wink:

문제원인은 역시 커널의 Low Memory 의 최대한계가 884MB 이었던 이유였습니다.
제가 막연히 Low Memory 이라도 4GB 까지는 그대로 지원하는 줄 알았던게 틀렸었네요.
해결책은 커널 설정에서 High Memory Support 옵션을 4GB 로 선택해주고 재컴파일후 부팅하니 정상적으로 작동됩니다.

사라졌던 메모리를 다시 찾게 되어서 좋긴 한데 High Memory Support 옵션을 키면 아무래도 커널의 오버헤드가 발생한다고 합니다. 그래서 lowmem 에서도 1GB 메모리를 지원해주는 커널패치가 있는데 ck-patch , nitro-patch , love-patch 등이 있습니다.
nitro-patch 와 love-patch 는 무척 blood-edge 합니다. ck-patch 를 권유하구요.

젠투에서는 ck-patch 가 적용된 ck-sources 가 포테이지에 있습니다.

참고로 패치되지 않은 커널에서 884 이상의 메모리를 장착하고
커널파라메터에 mem=1024 옵션을 주면 커널이 로딩되면서 얼어버리는 현상이 있습니다.

----------------------------------------
Nothing left after Nirvana.

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.