Pages

Sunday, August 5, 2012

Memory in linux

In a typical 32 bit machine, the address ranges from 0x00000000  to 2^32 – 1 (0xFFFFFFFF) . This entire address region will be split among RAM and device regions (address of devices and its registers)

/proc/meminfo will list the memory maps in the device.

In general, addresses which are mapped to RAM is known as physical address, where as address which are mapped to devices are known as bus address. The address can be architecture dependent and the details can be obtained from hardware manufacturer .

However none of these address can be used directly from a linux module. Physical address needs to be mapped to a virtual address to make use of it

sample output
abhi :# cat /proc/iomem 
00000000-0009f7ff : System RAM
0009f800-0009ffff : reserved
000a0000-000bffff : Video RAM area
000c0000-000c7fff : Video ROM
000ca000-000cafff : Adapter ROM
000dc000-000e3fff : reserved
000f0000-000fffff : System ROM
00100000-3feeffff : System RAM
  00100000-002baebc : Kernel code
  002baebd-0037661f : Kernel data
  003bc000-0041f57f : Kernel bss
3fef0000-3fefefff : ACPI Tables
3feff000-3fefffff : ACPI Non-volatile Storage
3ff00000-3fffffff : System RAM
50000000-50007fff : 0000:00:0f.0
50008000-5000bfff : 0000:00:10.0
d0000000-d7ffffff : 0000:00:0f.0
d8000000-d87fffff : 0000:00:0f.0
d8800000-d881ffff : 0000:00:10.0
  d8800000-d881ffff : mpt
d8820000-d883ffff : 0000:00:10.0
  d8820000-d883ffff : mpt
d8900000-d9cfffff : PCI Bus 0000:02
  d8900000-d8900fff : 0000:02:03.0
    d8900000-d8900fff : ehci_hcd
d9d00000-d9dfffff : PCI Bus 0000:03
d9e00000-d9efffff : PCI Bus 0000:0b
d9f00000-d9ffffff : PCI Bus 0000:13
da000000-da0fffff : PCI Bus 0000:1b
da100000-da1fffff : PCI Bus 0000:04
da200000-da2fffff : PCI Bus 0000:0c
da300000-da3fffff : PCI Bus 0000:14
da400000-da4fffff : PCI Bus 0000:1c
da500000-da5fffff : PCI Bus 0000:05
da600000-da6fffff : PCI Bus 0000:0d
da700000-da7fffff : PCI Bus 0000:15
da800000-da8fffff : PCI Bus 0000:1d
da900000-da9fffff : PCI Bus 0000:06
daa00000-daafffff : PCI Bus 0000:0e
dab00000-dabfffff : PCI Bus 0000:16
dac00000-dacfffff : PCI Bus 0000:1e
dad00000-dadfffff : PCI Bus 0000:07
dae00000-daefffff : PCI Bus 0000:0f
daf00000-daffffff : PCI Bus 0000:17
db000000-db0fffff : PCI Bus 0000:1f
db100000-db1fffff : PCI Bus 0000:08
db200000-db2fffff : PCI Bus 0000:10
db300000-db3fffff : PCI Bus 0000:18
db400000-db4fffff : PCI Bus 0000:20
db500000-db5fffff : PCI Bus 0000:09
db600000-db6fffff : PCI Bus 0000:11
db700000-db7fffff : PCI Bus 0000:19
db800000-db8fffff : PCI Bus 0000:21
db900000-db9fffff : PCI Bus 0000:0a
dba00000-dbafffff : PCI Bus 0000:12
dbb00000-dbbfffff : PCI Bus 0000:1a
dbc00000-dbcfffff : PCI Bus 0000:22
dbe00000-dbffffff : pnp 00:0c
dc400000-dc9fffff : PCI Bus 0000:02
  dc400000-dc40ffff : 0000:02:01.0
dca00000-dcafffff : PCI Bus 0000:03
dcb00000-dcbfffff : PCI Bus 0000:0b
dcc00000-dccfffff : PCI Bus 0000:13
dcd00000-dcdfffff : PCI Bus 0000:1b
dce00000-dcefffff : PCI Bus 0000:04
dcf00000-dcffffff : PCI Bus 0000:0c
dd000000-dd0fffff : PCI Bus 0000:14
dd100000-dd1fffff : PCI Bus 0000:1c
dd200000-dd2fffff : PCI Bus 0000:05
dd300000-dd3fffff : PCI Bus 0000:0d
dd400000-dd4fffff : PCI Bus 0000:15
dd500000-dd5fffff : PCI Bus 0000:1d
dd600000-dd6fffff : PCI Bus 0000:06
dd700000-dd7fffff : PCI Bus 0000:0e
dd800000-dd8fffff : PCI Bus 0000:16
dd900000-dd9fffff : PCI Bus 0000:1e
dda00000-ddafffff : PCI Bus 0000:07
ddb00000-ddbfffff : PCI Bus 0000:0f
ddc00000-ddcfffff : PCI Bus 0000:17
ddd00000-dddfffff : PCI Bus 0000:1f
dde00000-ddefffff : PCI Bus 0000:08
ddf00000-ddffffff : PCI Bus 0000:10
de000000-de0fffff : PCI Bus 0000:18
de100000-de1fffff : PCI Bus 0000:20
de200000-de2fffff : PCI Bus 0000:09
de300000-de3fffff : PCI Bus 0000:11
de400000-de4fffff : PCI Bus 0000:19
de500000-de5fffff : PCI Bus 0000:21
de600000-de6fffff : PCI Bus 0000:0a
de700000-de7fffff : PCI Bus 0000:12
de800000-de8fffff : PCI Bus 0000:1a
de900000-de9fffff : PCI Bus 0000:22
e0000000-efffffff : PCI MMCONFIG 0
  e0000000-efffffff : reserved
fec00000-fec0ffff : reserved
fee00000-fee00fff : reserved
fffe0000-ffffffff : reserved




  

How to get RAM info in linux?

Simple give cat /proc/meminfo

Sample output

abhi:/sys/class# cat /proc/meminfo
MemTotal:      1036092 kB
MemFree:        600532 kB
Buffers:        150752 kB
Cached:         141268 kB
SwapCached:          0 kB
Active:         233532 kB
Inactive:       161568 kB
HighTotal:      131008 kB
HighFree:          252 kB
LowTotal:       905084 kB
LowFree:        600280 kB
SwapTotal:     2650684 kB
SwapFree:      2650684 kB
Dirty:             360 kB
Writeback:           0 kB
AnonPages:      103064 kB
Mapped:          42420 kB
Slab:            28744 kB
SReclaimable:    23412 kB
SUnreclaim:       5332 kB
PageTables:       1668 kB
NFS_Unstable:        0 kB
Bounce:              0 kB
WritebackTmp:        0 kB
CommitLimit:   3168728 kB
Committed_AS:   274432 kB
VmallocTotal:   114680 kB
VmallocUsed:      4596 kB
VmallocChunk:   109660 kB
HugePages_Total:     0
HugePages_Free:      0
HugePages_Rsvd:      0
HugePages_Surp:      0
Hugepagesize:     4096 kB

Friday, August 3, 2012

Beauty of Life
 One of my best shot
 Cola
 Sunset in Singapore

Tuesday, May 15, 2012




Some more PICS 
























Beauty of nature is irresistible. Of all the beauty nature has, flowers got the most of it 









Thursday, February 9, 2012

Some of the pics I have taken

Well I am not a professional photographer. Not even close to a good photographer. But I am going to share some pics I have taken. All the copyrights for this pics belongs to me alone.

After all Joy of happiness is in sharing it.

A cool evening, empty road and miles ahead left to explore...

Flow of a river...