1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356
|
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
<html>
<head>
<META NAME="generator" CONTENT="lgazmail v1.1G.e">
<TITLE>The Answer Guy 36:
Using only 64Mb out of 128Mb Available
</TITLE>
</HEAD><BODY BGCOLOR="#FFFFFF" TEXT="#000000"
LINK="#3366FF" VLINK="#A000A0">
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<H4>"The Linux Gazette...<I>making Linux just a little more fun!</I>"</H4>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<center>
<H1><A NAME="answer">
<img src="../../gx/dennis/qbubble.gif" alt="(?)" border="0" align="middle">
<font color="#B03060">The Answer Guy</font>
<img src="../../gx/dennis/bbubble.gif" alt="(!)" border="0" align="middle">
</A></H1>
<BR>
<H4>By James T. Dennis,
<a href="mailto:answerguy@ssc.com">answerguy@ssc.com</a><BR>
Starshine Technical Services,
<A HREF="http://www.starshine.org/">http://www.starshine.org/</A>
</H4>
</center>
<p><hr><p>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<!-- begin 63 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif" height="50" width="60"
alt="(?) " border="0">
Using only 64Mb out of 128Mb Available
</H3>
<p><strong>From Terry Singleton on Thu, 17 Dec 1998
</strong></p>
<!-- ::
Using only 64Mb out of 128Mb Available
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
When I run the admin tool "<tt>top</tt>" it appears as if my system
is only using 64MB of memory.
</STRONG></P>
<pre><strong> 11:00am up 4 days, 23:39, 2 users, load average: 0.07, 0.03, 0.00
40 processes: 39 sleeping, 1 running, 0 zombie, 0 stopped
CPU states: 0.3% user, 0.1% system, 0.0% nice, 99.6% idle
Mem: 64168K av, 57420K used, 6748K free, 19820K shrd, 19816K buff
Swap: 104384K av, 24K used, 104360K free 23932K cached
</strong></pre><P><STRONG>
The results show 64168K av which indicates 64168K of available memory yet
our system has 128MB RAM? I have the same results on 2 other Linux servers
with more than 64MB RAM.
</STRONG></P>
<P><STRONG>
I am running RedHat 5.1, is there anything <EM>special</EM> I have to do to tell
the system I have more than 64MB, recompile the kernel..?
</STRONG></P>
<P><STRONG>
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" alt="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This is a classic FAQ. The BIOS standards for memory query
(Int 12h?) don't support the return of more than 64Mb of
RAM. There are a number of different mechanisms for doing
this on different chipsets, and some were "dangerous" (in
the sense that they might hang some systems with a different
API/BIOS). So, Linux didn't support automatic detection of
more than 64Mb on most systems until very recently
(2.0.36?).
</BLOCKQUOTE>
<BLOCKQUOTE>
You've always been able to over-ride this with a kernel
parameter. As you may know from my earlier articles or from
the LILO man pages you can pass parameters to the Linux
kernel using an append= directive in your <TT>/etc/lilo.conf</TT>
file (and subsequently runing <TT>/sbin/lilo</TT>, of course) or by
manually appending the parameters on the command line at the
LILO prompt (or on the LOADLIN.EXE command line).
</BLOCKQUOTE>
<BLOCKQUOTE>
To do this with <tt>lilo.conf</tt> you add lines of the form:
</BLOCKQUOTE>
<BLOCKQUOTE> <BLOCKQUOTE> <CODE>
append="mem=128M"
</CODE> </BLOCKQUOTE> </BLOCKQUOTE>
<BLOCKQUOTE>
... to each of the Linux stanzas to which you want this to
apply. (I'd leave one of them without it for the first try
so you have a working configuration into which you can boot
in case there's a problem with your system. I've heard of
some cases where users had to reduce their memory
configuration by 1Mb for odd reasons).
</BLOCKQUOTE>
<BLOCKQUOTE>
With the newer 2.0.36 and 2.1.x kernels you shouldn't
need to do this (they have new autodetection code that
should handle all of the common chipsets).
</BLOCKQUOTE>
<BLOCKQUOTE>
One trick for programmers --- if you want to ensure that
your code or distribution will run in limited memory
constraints you can do a quick test using a smaller
mem= parameter to force the kernel to run in less space
than it normally would.
</BLOCKQUOTE>
<BLOCKQUOTE>
WARNING: If you forget the trailing '<TT>M</TT>' the kernel load
will fail when it tries to allocate the specified amount
of RAM <EM>in bytes</EM>. (Don't do that!).
</BLOCKQUOTE>
<BLOCKQUOTE>
In any event you might want to check out some of the
FAQ's on Linux since I'm sure this is in a couple of them.
</BLOCKQUOTE>
<!-- sig -->
<!-- end 63 -->
<hr width="40%" align="center">
<!-- begin 60 -->
<H3 align="left"><img src="../../gx/dennis/qbubble.gif" height="50" width="60"
alt="(?) " border="0">
Using only 64Mb out of 128Mb Available
</H3>
<p><strong>From Terry Singleton on Fri, 18 Dec 1998
</strong></p>
<!-- ::
More on:
Using only 64Mb out of 128Mb Available
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
:: -->
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Thanks Jim.I added the line as you suggested, however it did not seem to
<EM>take</EM> am I supposed to be it under the boot image section
itself? Memory is still 64000av.
</STRONG></P>
<BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" alt="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Sorry, I should have been more detailed. You need
to add this <tt>append=</tt> directive to each of the stanzas to
which it applies. (You could have a couple of stanzas
that referred to reduced memory configuration if you were
a software developer, tester or reviewer so that you could
test a package's behaviour under varying memory constraints).
</BLOCKQUOTE>
<P><STRONG><IMG SRC="../../gx/dennis/qbub.gif" ALT="(?)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
This is what I have:
</STRONG></P>
<pre><strong> boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
append="mem=128M"
image=/boot/vmlinuz-2.0.34-0.6
label=linux
root=/dev/sda1
initrd=/boot/initrd-2.0.34-0.6.img
read-only
</strong></pre><P><STRONG>
should it be:
</STRONG></P>
<pre><strong> boot=/dev/sda
map=/boot/map
install=/boot/boot.b
prompt
timeout=50
image=/boot/vmlinuz-2.0.34-0.6
label=linux
root=/dev/sda1
initrd=/boot/initrd-2.0.34-0.6.img
read-only
append="mem=128M"
</strong></pre><BLOCKQUOTE><IMG SRC="../../gx/dennis/bbub.gif" alt="(!)"
HEIGHT="28" WIDTH="50" BORDER="0"
>
Yes.
</BLOCKQUOTE>
<BLOCKQUOTE>
(Also remember to re-run <TT>/sbin/lilo</TT> to read this
config file and build the new boot blocks and maps
therefrom).
</BLOCKQUOTE>
<BLOCKQUOTE>
Incidentally it would have been quicker and reasonably
safe (in this case) to just try the experiement. It
should have worked and you'd have gotten your answer
much quicker.
</BLOCKQUOTE>
<BLOCKQUOTE>
I can understand a degree of hesitation about experimenting
with the boot blocks and partition tables (a data structure
that's stored in the the same block as the MBR first stage
boot block). Obviously a mistake means that you can't
boot at all.
</BLOCKQUOTE>
<BLOCKQUOTE>
However, it's wise to have a backup <em>and a working rescue
floppy</em> and to practice using them before you make any
changes to your <TT>/etc/lilo.conf.</TT>
</BLOCKQUOTE>
<!-- sig -->
<!-- end 60 -->
<!--startcut ======================================================= -->
<P> <hr> <P>
<H5 align="center"><a href="http://www.linuxgazette.com/ssc.copying.html"
>Copyright ©</a> 1999, James T. Dennis
<BR>Published in <I>The Linux Gazette</I> Issue 36 January 1999</H5>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<P align="center">
<table width="98%"><tr valign="center" align="center">
<td rowspan="3" colspan="6"><A HREF="../lg_answer36.html"><IMG
SRC="../../gx/dennis/answernew.gif"
ALT="[ Answer Guy Index ]"></A></td>
<TD><A HREF="./a.html">a</A></TD>
<TD><A HREF="./b.html">b</A></TD>
<TD><A HREF="./c.html">c</A></TD>
<TD><A HREF="./1.html">1</A></TD>
<TD><A HREF="./2.html">2</A></TD>
<TD><A HREF="./3.html">3</A></TD>
<TD><A HREF="./4.html">4</A></TD>
<TD><A HREF="./5.html">5</A></TD>
<TD><A HREF="./6.html">6</A></TD>
<TD><A HREF="./7.html">7</A></TD>
<TD><A HREF="./9.html">9</A></TD>
<TD><A HREF="./10.html">10</A></TD>
<TD><A HREF="./11.html">11</A></TD>
<TD><A HREF="./12.html">12</A></TD>
</tr><tr valign="center" align="center">
<TD><A HREF="./15.html">15</A></TD>
<TD><A HREF="./16.html">16</A></TD>
<TD><A HREF="./18.html">18</A></TD>
<TD><A HREF="./19.html">19</A></TD>
<TD><A HREF="./20.html">20</A></TD>
<TD><A HREF="./21.html">21</A></TD>
<TD><A HREF="./22.html">22</A></TD>
<TD><A HREF="./23.html">23</A></TD>
<TD><A HREF="./24.html">24</A></TD>
<TD><A HREF="./25.html">25</A></TD>
<TD><A HREF="./26.html">26</A></TD>
<TD><A HREF="./27.html">27</A></TD>
<TD><A HREF="./28.html">28</A></TD>
</tr><tr valign="center" align="center">
<TD><A HREF="./29.html">29</A></TD>
<TD><A HREF="./31.html">31</A></TD>
<TD><A HREF="./32.html">32</A></TD>
<TD><A HREF="./33.html">33</A></TD>
<TD><A HREF="./34.html">34</A></TD>
<TD><A HREF="./35.html">35</A></TD>
<TD><A HREF="./36.html">36</A></TD>
<TD><A HREF="./37.html">37</A></TD>
<TD><A HREF="./38.html">38</A></TD>
<TD><A HREF="./39.html">39</A></TD>
<TD><A HREF="./40.html">40</A></TD>
<TD><A HREF="./41.html">41</A></TD>
<TD><A HREF="./42.html">42</A></TD>
<TD><A HREF="./44.html">44</A></TD>
</tr><tr valign="center" align="center">
<TD><A HREF="./45.html">45</A></TD>
<TD><A HREF="./46.html">46</A></TD>
<TD><A HREF="./47.html">47</A></TD>
<TD><A HREF="./48.html">48</A></TD>
<TD><A HREF="./49.html">49</A></TD>
<TD><A HREF="./50.html">50</A></TD>
<TD><A HREF="./51.html">51</A></TD>
<TD><A HREF="./52.html">52</A></TD>
<TD><A HREF="./53.html">53</A></TD>
<TD><A HREF="./54.html">54</A></TD>
<TD><A HREF="./55.html">55</A></TD>
<TD><A HREF="./56.html">56</A></TD>
<TD><A HREF="./57.html">57</A></TD>
<TD><A HREF="./60.html">60</A></TD>
<TD><A HREF="./61.html">61</A></TD>
<TD><A HREF="./62.html">62</A></TD>
<TD><A HREF="./63.html">63</A></TD>
<TD><A HREF="./64.html">64</A></TD>
<TD><A HREF="./65.html">65</A></TD>
<TD><A HREF="./66.html">66</A></TD>
</tr><tr valign="center" align="center">
<TD><A HREF="./67.html">67</A></TD>
<TD><A HREF="./69.html">69</A></TD>
<TD><A HREF="./72.html">72</A></TD>
<TD><A HREF="./76.html">76</A></TD>
<TD><A HREF="./77.html">77</A></TD>
<TD><A HREF="./78.html">78</A></TD>
<TD><A HREF="./79.html">79</A></TD>
<TD><A HREF="./80.html">80</A></TD>
<TD><A HREF="./81.html">81</A></TD>
<TD><A HREF="./82.html">82</A></TD>
<TD><A HREF="./84.html">84</A></TD>
<TD><A HREF="./85.html">85</A></TD>
<TD><A HREF="./86.html">86</A></TD>
<TD><A HREF="./87.html">87</A></TD>
<TD><A HREF="./91.html">91</A></TD>
<TD><A HREF="./94.html">94</A></TD>
<TD><A HREF="./95.html">95</A></TD>
<TD><A HREF="./96.html">96</A></TD>
<TD><A HREF="./97.html">97</A></TD>
<TD><A HREF="./98.html">98</A></TD>
</tr></table>
</P>
<P> <hr> <P>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
<A HREF="../lg_toc36.html"
><IMG SRC="../../gx/indexnew.gif" ALT="[ Table Of Contents ]"></A>
<A HREF="../../index.html"
><IMG SRC="../../gx/homenew.gif" ALT="[ Front Page ]"></A>
<A HREF="../lg_bytes36.html"
><IMG SRC="../../gx/back2.gif" ALT="[ Previous Section ]"></A>
<A HREF="../larriera.html"
><IMG SRC="../../gx/fwd.gif" ALT="[ Next Section ]"></A>
<!-- ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: -->
</BODY></HTML>
<!--endcut ========================================================= -->
|