[RISOLTO] comandi lshw e free risposte diverse

Discussioni relative a Debian e Linux

[RISOLTO] comandi lshw e free risposte diverse

Messaggioda Marco1971 » 19/01/2018, 12:16

Gentili utenti i comandi lshw e free mi restituiscono quantità di ram diversa qual'è attendibile? io vorrei far usare al mio Pc tutta la ram
Marco1971
Newbie
Newbie
 
Messaggi: 13
Iscritto il: 14/01/2018, 22:45

Re: comandi lshw e free risposte diverse

Messaggioda mark » 19/01/2018, 23:38

con questo comando trovi le caratteristiche della ram utilizzabile dal kernel
Codice: Seleziona tutto
cat /proc/meminfo


per avere solo la memoria totale installata
Codice: Seleziona tutto
cat /proc/meminfo |grep MemTotal


questo comando per avere le caratteristiche del kernel in uso
Codice: Seleziona tutto
uname -a
Avatar utente
mark
Hero Member
Hero Member
 
Messaggi: 652
Iscritto il: 10/01/2007, 16:53

Re: comandi lshw e free risposte diverse

Messaggioda Marco1971 » 20/01/2018, 0:30

    MemTotal: 7259108 kB
    MemFree: 5855676 kB
    MemAvailable: 6242248 kB
    Buffers: 50028 kB
    Cached: 559536 kB
    SwapCached: 0 kB
    Active: 834296 kB
    Inactive: 349220 kB
    Active(anon): 574992 kB
    Inactive(anon): 20496 kB
    Active(file): 259304 kB
    Inactive(file): 328724 kB
    Unevictable: 64 kB
    Mlocked: 64 kB
    SwapTotal: 0 kB
    SwapFree: 0 kB
    Dirty: 440 kB
    Writeback: 0 kB
    AnonPages: 574056 kB
    Mapped: 289416 kB
    Shmem: 21536 kB
    Slab: 72016 kB
    SReclaimable: 33768 kB
    SUnreclaim: 38248 kB
    KernelStack: 9568 kB
    PageTables: 38792 kB
    NFS_Unstable: 0 kB
    Bounce: 0 kB
    WritebackTmp: 0 kB
    CommitLimit: 3629552 kB
    Committed_AS: 4095284 kB
    VmallocTotal: 34359738367 kB
    VmallocUsed: 0 kB
    VmallocChunk: 0 kB
    HardwareCorrupted: 0 kB
    AnonHugePages: 0 kB
    ShmemHugePages: 0 kB
    ShmemPmdMapped: 0 kB
    HugePages_Total: 0
    HugePages_Free: 0
    HugePages_Rsvd: 0
    HugePages_Surp: 0
    Hugepagesize: 2048 kB
    DirectMap4k: 152768 kB
    DirectMap2M: 4155392 kB
    DirectMap1G: 4194304 kB

deduco che quella in neretto sia la mia ram totale, ma perché non è tutta?
come faccio ad usarla tutta?

gli altri comandi danno questo
cat /proc/meminfo |grep MemTotal
MemTotal: 7259108 kB

uname -a
Linux debian 4.9.0-5-amd64 #1 SMP Debian 4.9.65-3+deb9u2 (2018-01-04) x86_64 GNU/Linux

Grazie
Marco1971
Newbie
Newbie
 
Messaggi: 13
Iscritto il: 14/01/2018, 22:45

Re: comandi lshw e free risposte diverse

Messaggioda mark » 20/01/2018, 1:35

strano, dovresti guardare le specifiche tecniche del pc per vedere se dicono qualcosa a proposito della ram supportata
Avatar utente
mark
Hero Member
Hero Member
 
Messaggi: 652
Iscritto il: 10/01/2007, 16:53

Re: comandi lshw e free risposte diverse

Messaggioda Marco1971 » 20/01/2018, 7:48

Con ubuntu 17.10 era riconosciuta non so come andare avanti non se ne parla da nessuna parte
Marco1971
Newbie
Newbie
 
Messaggi: 13
Iscritto il: 14/01/2018, 22:45

Re: comandi lshw e free risposte diverse

Messaggioda Aki » 20/01/2018, 15:28

Marco1971 ha scritto:Con ubuntu 17.10 era riconosciuta non so come andare avanti non se ne parla da nessuna parte

Ne dubito fortemente, vedi anche una precedente discussione.

L'intera memoria fisicamente disponibile nel computer (ad esempio, 4 GByte) è utilizzata in una certa quantità dal kernel linux (per il proprio codice e le strutture dati ad uso proprio ed ad uso spazio utente) e una parte di memoria può venire riservata, in base alle caratteristiche hardware del computer, ad attività collegate al firmware e/o a dispositivi hardware (ad esempio, schede video con memoria condivisa).

Ad esempio, in una installazione Debian a mia disposizione con 4 GByte RAM fisici installati, risulta dal log di avvio del kernel:
Codice: Seleziona tutto
$ dmesg | grep  "Memory"
[    0.000000] Memory: 2937944K/3140468K available (5287K kernel code, 949K rwdata, 1836K rodata, 1208K init, 840K bss, 202524K reserved)

Ad esempio, nel mio caso l'ulteriore memoria (indirizzi in notazione esadecimale) riservata dal firmware è la seguente:
Codice: Seleziona tutto
# dmesg | grep -i reserved
[    0.000000] BIOS-e820: [mem 0x000000000009d400-0x000000000009ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000000e4000-0x00000000000fffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bf8a1000-0x00000000bf8a6fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bf9bc000-0x00000000bfa0efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bfb08000-0x00000000bfd0efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bfd18000-0x00000000bfd1efff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000bfe00000-0x00000000bfffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000e0000000-0x00000000efffffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fec00000-0x00000000fec0ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed00000-0x00000000fed003ff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed10000-0x00000000fed13fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed18000-0x00000000fed19fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fed1c000-0x00000000fed8ffff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000fee00000-0x00000000fee00fff] reserved
[    0.000000] BIOS-e820: [mem 0x00000000ff800000-0x00000000ffffffff] reserved
[    0.000000] e820: update [mem 0x00000000-0x00000fff] usable ==> reserved
[    0.000000] e820: update [mem 0xc0000000-0xffffffff] usable ==> reserved
[    0.000000]   DMA zone: 21 pages reserved
[..]
[    0.132006] PCI: MMCONFIG at [mem 0xe0000000-0xefffffff] reserved in E820
[    0.311347] system 00:02: [mem 0xfed00000-0xfed003ff] has been reserved
[    0.311671] system 00:03: [io  0x1200-0x120f] has been reserved
[    0.311858] system 00:03: [io  0x0480-0x048f] has been reserved
[    0.312063] system 00:03: [io  0xffff] has been reserved
[    0.312247] system 00:03: [io  0xffff] has been reserved
[    0.312430] system 00:03: [io  0x0400-0x047f] has been reserved
[    0.312614] system 00:03: [io  0x1180-0x11ff] has been reserved
[    0.312805] system 00:03: [io  0xfe00] has been reserved
[    0.313433] system 00:05: [mem 0xfed1c000-0xfed1ffff] has been reserved
[    0.313621] system 00:05: [mem 0xfed10000-0xfed13fff] has been reserved
[    0.313812] system 00:05: [mem 0xfed18000-0xfed18fff] has been reserved
[    0.314004] system 00:05: [mem 0xfed19000-0xfed19fff] has been reserved
[    0.314196] system 00:05: [mem 0xe0000000-0xefffffff] has been reserved
[    0.314387] system 00:05: [mem 0xfed20000-0xfed3ffff] has been reserved

Inoltre, sempre nel mio caso, la scheda VGA utilizza una ulteriore quantità di RAM:
Codice: Seleziona tutto
1:00.0 VGA compatible controller [0300]: NVIDIA Corporation G96M [GeForce 9600M GT] [10de:0649] (rev a1) (prog-if 00 [VGA controller])
        Subsystem: Acer Incorporated [ALI] Device [1025:013f]
        Flags: bus master, fast devsel, latency 0, IRQ 50
        Memory at ce000000 (32-bit, non-prefetchable) [size=16M]
        Memory at d0000000 (64-bit, prefetchable) [size=256M]
        Memory at cc000000 (64-bit, non-prefetchable) [size=32M]

... continua nel messaggio successivo...
Aki
Global Moderator
Global Moderator
 
Messaggi: 8098
Iscritto il: 27/12/2007, 16:59

Re: comandi lshw e free risposte diverse

Messaggioda Aki » 20/01/2018, 16:15

... continua dal messaggio precedente...

Il comando smem può venirti in aiuto a comprendere; ad esempio, nel caso della installazione di esempio a cui prima facevo riferimento (con 4GByte di RAM fisica), puoi impartire i seguenti comandi come utente ordinario (nel file log.txt troverai l'output dei comandi che potrai inviare per analizzare il tuo caso specifico):
Codice: Seleziona tutto
script log.txt

# richiesta la password di root per l'installazione dei pacchetti smem e wget
su -c "apt-get install smem wget"

wget https://raw.githubusercontent.com/torvalds/linux/master/scripts/extract-vmlinux
bash ./extract-vmlinux /boot/vmlinuz-$(uname -r) > kernel-image

$ smem -R 4G -K kernel-image -w
Area                           Used      Cache   Noncache
firmware/hardware           1223063          0    1223063
kernel image                  14397          0      14397
kernel dynamic memory       1670748    1488300     182448
userspace memory            1203600     193364    1010236
free memory                   82496      82496          0
exit

Nel mio caso di esempio, la somma della colonna "used" (intesa come tutta la memoria RAM del computer) corrisponde a 4194304 che corrisponde a circa 4GByte.

Tornando al tuoi quesito iniziale, portanto a confronto il il risultato dei comandi lshw, free e cat /proc/meminfo, nel mio caso di esempio il risultato è:
Codice: Seleziona tutto
# lshw -short | grep memory; echo;  free; echo; cat /proc/meminfo | grep MemTotal
/0/0                         memory      2887MiB System memory

             total       used       free     shared    buffers     cached
Mem:       2956844    2615848     340996      48144      44620    1396116
-/+ buffers/cache:    1175112    1781732
Swap:      4194300     401512    3792788

MemTotal:        2956844 kB

Come vedi il risultato 2956844 kB è lo stesso (nota: l'output di lshw 2887 MiB corrisponde a 2887*(2^10)= 2956288 kB), tale memoria rappresenta "Total usable ram (i.e. physical ram minus a few reserved bits and the kernel binary code)"
Aki
Global Moderator
Global Moderator
 
Messaggi: 8098
Iscritto il: 27/12/2007, 16:59

Re: comandi lshw e free risposte diverse(risolto)

Messaggioda Marco1971 » 21/01/2018, 18:42

la risposta non poteva essere più esaustiva grazie
Marco1971
Newbie
Newbie
 
Messaggi: 13
Iscritto il: 14/01/2018, 22:45

Re: comandi lshw e free risposte diverse(risolto)

Messaggioda Aki » 21/01/2018, 19:28

Marco1971 ha scritto:la risposta non poteva essere più esaustiva grazie

Felice di esserti stato d'aiuto. Ricorda di contrassegnare la discussione come risolta.
Aki
Global Moderator
Global Moderator
 
Messaggi: 8098
Iscritto il: 27/12/2007, 16:59


Torna a Generale

Chi c’è in linea

Visitano il forum: Nessuno e 1 ospite