Sie sind nicht angemeldet.

[erledigt] mem-info

Lieber Besucher, herzlich willkommen bei: GentooForum.de. Falls dies Ihr erster Besuch auf dieser Seite ist, lesen Sie sich bitte die Hilfe durch. Dort wird Ihnen die Bedienung dieser Seite näher erläutert. Darüber hinaus sollten Sie sich registrieren, um alle Funktionen dieser Seite nutzen zu können. Benutzen Sie das Registrierungsformular, um sich zu registrieren oder informieren Sie sich ausführlich über den Registrierungsvorgang. Falls Sie sich bereits zu einem früheren Zeitpunkt registriert haben, können Sie sich hier anmelden.

1

21.08.2012, 20:05

mem-info

Hi,

In letzter Zeit bekomme ich ein paar merkmürdige Meldungen vom kernel:

Quellcode

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
Aug 21 12:32:54 server kernel: [2652848.264769] Mem-Info:
Aug 21 12:32:54 server kernel: [2652848.264770] Node 0 DMA per-cpu:
Aug 21 12:32:54 server kernel: [2652848.264772] CPU    0: hi:    0, btch:   1 usd:   0
Aug 21 12:32:54 server kernel: [2652848.264774] CPU    1: hi:    0, btch:   1 usd:   0
Aug 21 12:32:54 server kernel: [2652848.264776] CPU    2: hi:    0, btch:   1 usd:   0
Aug 21 12:32:54 server kernel: [2652848.264778] CPU    3: hi:    0, btch:   1 usd:   0
Aug 21 12:32:54 server kernel: [2652848.264779] Node 0 DMA32 per-cpu:
Aug 21 12:32:54 server kernel: [2652848.264782] CPU    0: hi:  186, btch:  31 usd:  24
Aug 21 12:32:54 server kernel: [2652848.264783] CPU    1: hi:  186, btch:  31 usd:  43
Aug 21 12:32:54 server kernel: [2652848.264785] CPU    2: hi:  186, btch:  31 usd: 158
Aug 21 12:32:54 server kernel: [2652848.264787] CPU    3: hi:  186, btch:  31 usd:  36
Aug 21 12:32:54 server kernel: [2652848.264788] Node 0 Normal per-cpu:
Aug 21 12:32:54 server kernel: [2652848.264791] CPU    0: hi:  186, btch:  31 usd: 172
Aug 21 12:32:54 server kernel: [2652848.264792] CPU    1: hi:  186, btch:  31 usd:  61
Aug 21 12:32:54 server kernel: [2652848.264794] CPU    2: hi:  186, btch:  31 usd:  24
Aug 21 12:32:54 server kernel: [2652848.264796] CPU    3: hi:  186, btch:  31 usd:  61
Aug 21 12:32:54 server kernel: [2652848.264800] active_anon:29731 inactive_anon:33473 isolated_anon:0
Aug 21 12:32:54 server kernel: [2652848.264801]  active_file:343015 inactive_file:369928 isolated_file:32
Aug 21 12:32:54 server kernel: [2652848.264802]  unevictable:0 dirty:54778 writeback:18830 unstable:0
Aug 21 12:32:54 server kernel: [2652848.264803]  free:27100 slab_reclaimable:36232 slab_unreclaimable:9843
Aug 21 12:32:54 server kernel: [2652848.264804]  mapped:148949 shmem:927 pagetables:2826 bounce:0
Aug 21 12:32:54 server kernel: [2652848.264806] Node 0 DMA free:15916kB min:28kB low:32kB high:40kB active_anon:0kB inactive_anon:0kB active_file:8kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15668kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
Aug 21 12:32:54 server kernel: [2652848.264815] lowmem_reserve[]: 0 3469 3973 3973
Aug 21 12:32:54 server kernel: [2652848.264818] Node 0 DMA32 free:91288kB min:7028kB low:8784kB high:10540kB active_anon:99356kB inactive_anon:97900kB active_file:1314264kB inactive_file:1421100kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:3553024kB mlocked:0kB dirty:202412kB writeback:62748kB mapped:376420kB shmem:268kB slab_reclaimable:126304kB slab_unreclaimable:23652kB kernel_stack:496kB pagetables:7136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
Aug 21 12:32:54 server kernel: [2652848.264828] lowmem_reserve[]: 0 0 504 504
Aug 21 12:32:54 server kernel: [2652848.264831] Node 0 Normal free:1196kB min:1020kB low:1272kB high:1528kB active_anon:19568kB inactive_anon:35992kB active_file:57788kB inactive_file:58612kB unevictable:0kB isolated(anon):0kB isolated(file):128kB present:516096kB mlocked:0kB dirty:16700kB writeback:12572kB mapped:219376kB shmem:3440kB slab_reclaimable:18624kB slab_unreclaimable:15720kB kernel_stack:1056kB pagetables:4168kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:286 all_unreclaimable? no
Aug 21 12:32:54 server kernel: [2652848.264841] lowmem_reserve[]: 0 0 0 0
Aug 21 12:32:54 server kernel: [2652848.264843] Node 0 DMA: 1*4kB 1*8kB 2*16kB 2*32kB 3*64kB 2*128kB 2*256kB 1*512kB 2*1024kB 2*2048kB 2*4096kB = 15916kB
Aug 21 12:32:54 server kernel: [2652848.264852] Node 0 DMA32: 22569*4kB 1*8kB 1*16kB 4*32kB 1*64kB 0*128kB 1*256kB 1*512kB 0*1024kB 0*2048kB 0*4096kB = 91260kB
Aug 21 12:32:54 server kernel: [2652848.264860] Node 0 Normal: 55*4kB 118*8kB 2*16kB 0*32kB 0*64kB 0*128kB 0*256kB 0*512kB 0*1024kB 0*2048kB 0*4096kB = 1196kB
Aug 21 12:32:54 server kernel: [2652848.264868] 717917 total pagecache pages
Aug 21 12:32:54 server kernel: [2652848.264869] 3868 pages in swap cache
Aug 21 12:32:54 server kernel: [2652848.264871] Swap cache stats: add 98413, delete 94545, find 856408/859969
Aug 21 12:32:54 server kernel: [2652848.264873] Free swap  = 2021672kB
Aug 21 12:32:54 server kernel: [2652848.264874] Total swap = 2088440kB
Aug 21 12:32:54 server kernel: [2652848.278091] 1048560 pages RAM
Aug 21 12:32:54 server kernel: [2652848.278093] 186218 pages reserved
Aug 21 12:32:54 server kernel: [2652848.278094] 458192 pages shared
Aug 21 12:32:54 server kernel: [2652848.278095] 426235 pages non-shared


Seh ich das richtig das mein RAM zeitweise zu wenig ist?(lowmem_reserve)
Was bedeuten die Meldungen?

Danke
Thorus

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »Thorus« (20.04.2014, 11:41)


2

29.08.2012, 14:01

Quellcode

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
lowmem_reserve_ratio

For some specialised workloads on highmem machines it is dangerous for
the kernel to allow process memory to be allocated from the "lowmem"
zone.  This is because that memory could then be pinned via the mlock()
system call, or by unavailability of swapspace.

And on large highmem machines this lack of reclaimable lowmem memory
can be fatal.

So the Linux page allocator has a mechanism which prevents allocations
which _could_ use highmem from using too much lowmem.  This means that
a certain amount of lowmem is defended from the possibility of being
captured into pinned user memory.

(The same argument applies to the old 16 megabyte ISA DMA region.  This
mechanism will also defend that region from allocations which could use
highmem or lowmem).

The `lowmem_reserve_ratio' tunable determines how aggressive the kernel is
in defending these lower zones.

If you have a machine which uses highmem or ISA DMA and your
applications are using mlock(), or if you are running with no swap then
you probably should change the lowmem_reserve_ratio setting.

The lowmem_reserve_ratio is an array. You can see them by reading this file.
-
% cat /proc/sys/vm/lowmem_reserve_ratio
256     256     32
-
Note: # of this elements is one fewer than number of zones. Because the highest
      zone's value is not necessary for following calculation.

But, these values are not used directly. The kernel calculates # of protection
pages for each zones from them. These are shown as array of protection pages
in /proc/zoneinfo like followings. (This is an example of x86-64 box).
Each zone has an array of protection pages like this.

-
Node 0, zone      DMA
  pages free     1355
        min      3
        low      3
        high     4
	:
	:
    numa_other   0
        protection: (0, 2004, 2004, 2004)
	^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  pagesets
    cpu: 0 pcp: 0
        :
-
These protections are added to score to judge whether this zone should be used
for page allocation or should be reclaimed.

In this example, if normal pages (index=2) are required to this DMA zone and
watermark[WMARK_HIGH] is used for watermark, the kernel judges this zone should
not be used because pages_free(1355) is smaller than watermark + protection[2]
(4 + 2004 = 2008). If this protection value is 0, this zone would be used for
normal page requirement. If requirement is DMA zone(index=0), protection[0]
(=0) is used.

zone[i]'s protection[j] is calculated by following expression.

(i < j):
  zone[i]->protection[j]
  = (total sums of present_pages from zone[i+1] to zone[j] on the node)
    / lowmem_reserve_ratio[i];
(i = j):
   (should not be protected. = 0;
(i > j):
   (not necessary, but looks 0)

The default values of lowmem_reserve_ratio[i] are
    256 (if zone[i] means DMA or DMA32 zone)
    32  (others).
As above expression, they are reciprocal number of ratio.
256 means 1/256. # of protection pages becomes about "0.39%" of total present
pages of higher zones on the node.

If you would like to protect more pages, smaller values are effective.
The minimum value is 1 (1/1 -> 100%).


Quellcode

1
http://www.kernel.org/doc/Documentation/sysctl/vm.txt


Ich hoffe es beantwortet deine Frage :D
Meine Mottos:
1. Jegliche Beiträge sind so zu halten dass sie von Vorstandsmitgliedern und Kleinkindern verstanden werden.
2. Wer sich hinter Fachbegriffen deren Bedeutung er nicht kennt versteckt, macht dass nur um seine Ahnungslosigkeit zu überdecken.
3. Die Namen von Betriebssytemen enden immer mit einem "X". LinuX, UniX und Mac OS X.
4. Jeder der mich in irgend einer Form mit dem Wort Rechtschreibung auf irgend eine Weise in Verbindung bringt, landet auf der Ignore Liste

3

29.08.2012, 16:28

Ok, das heisst ein Programm hat versucht lowmem zu allocaten obwohl highmem zur Verfügung stand(was genau der unterschied zwischen den beiden ist hab ich net verstanden^^)
Der Kernel hat das verhindert, und das bedeuten die Meldungen, also nicht tragisches, richtig?

4

30.08.2012, 07:55

Quellcode

1
2
3
4
5
6
Aug 21 12:32:54 server kernel: [2652848.264806] Node 0 DMA free:15916kB min:28kB low:32kB high:40kB active_anon:0kB inactive_anon:0kB active_file:8kB inactive_file:0kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:15668kB mlocked:0kB dirty:0kB writeback:0kB mapped:0kB shmem:0kB slab_reclaimable:0kB slab_unreclaimable:0kB kernel_stack:0kB pagetables:0kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
Aug 21 12:32:54 server kernel: [2652848.264815] lowmem_reserve[]: 0 3469 3973 3973
Aug 21 12:32:54 server kernel: [2652848.264818] Node 0 DMA32 free:91288kB min:7028kB low:8784kB high:10540kB active_anon:99356kB inactive_anon:97900kB active_file:1314264kB inactive_file:1421100kB unevictable:0kB isolated(anon):0kB isolated(file):0kB present:3553024kB mlocked:0kB dirty:202412kB writeback:62748kB mapped:376420kB shmem:268kB slab_reclaimable:126304kB slab_unreclaimable:23652kB kernel_stack:496kB pagetables:7136kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:0 all_unreclaimable? no
Aug 21 12:32:54 server kernel: [2652848.264828] lowmem_reserve[]: 0 0 504 504
Aug 21 12:32:54 server kernel: [2652848.264831] Node 0 Normal free:1196kB min:1020kB low:1272kB high:1528kB active_anon:19568kB inactive_anon:35992kB active_file:57788kB inactive_file:58612kB unevictable:0kB isolated(anon):0kB isolated(file):128kB present:516096kB mlocked:0kB dirty:16700kB writeback:12572kB mapped:219376kB shmem:3440kB slab_reclaimable:18624kB slab_unreclaimable:15720kB kernel_stack:1056kB pagetables:4168kB unstable:0kB bounce:0kB writeback_tmp:0kB pages_scanned:286 all_unreclaimable? no
Aug 21 12:32:54 server kernel: [2652848.264841] lowmem_reserve[]: 0 0 0 0


Also ehrlich gesagt weiß ich nicht wie du aus dem Teil rausgelesen
hast, oder wie du rauslesen willst dass du

Zitat

Seh ich das richtig das mein RAM zeitweise zu wenig ist?(lowmem_reserve)
Deswegen wollte ich dir helfen und hab dir ein wenig Text gepostet der dir erklärt was lowmem ist. Und was die meldung aussagt.

Zitat

Ok, das heisst ein Programm hat versucht lowmem zu allocaten obwohl
highmem zur Verfügung stand(was genau der unterschied zwischen den
beiden ist hab ich net verstanden^^)
Ich kann mich jetzt auch täuschen aber ich interpretiere die Ausgabe eher als Status meldung "lowmem wurde an der Stelle X und in der menge Y automatisch und unabhängig von irgend einem Programm, vom Kernel reserviert" mehr sagt die meldung doch nicht aus.

Wenn du wissen willst wie weit dein Speicher belegt ist hilft dir vielleicht

Quellcode

1
2
3
4
5
free -m
         	total   	used   	free 	shared	buffers 	cached
Mem:      	3042   	1396   	1645      	0     	47    	662
-/+ buffers/cache:    	687   	2354
Swap:      	561      	0    	561


Viel spaß noch
Meine Mottos:
1. Jegliche Beiträge sind so zu halten dass sie von Vorstandsmitgliedern und Kleinkindern verstanden werden.
2. Wer sich hinter Fachbegriffen deren Bedeutung er nicht kennt versteckt, macht dass nur um seine Ahnungslosigkeit zu überdecken.
3. Die Namen von Betriebssytemen enden immer mit einem "X". LinuX, UniX und Mac OS X.
4. Jeder der mich in irgend einer Form mit dem Wort Rechtschreibung auf irgend eine Weise in Verbindung bringt, landet auf der Ignore Liste