A Cooly Weblog

             ::  ::  ::  ::  :: 管理

          [轉]Linux下關于內存的查看

          Posted on 2007-01-30 11:19 acooly 閱讀(613) 評論(0)  編輯  收藏 所屬分類: 腳本語言
          Linux中使用free可以查看系統內存使用狀態, 默認單位為k

          blue_stone@blueice:~$ free
          ???????????? total?????? used?????? free???? shared??? buffers???? cached
          Mem:?????? 2075320??? 1879172???? 196148????????? 0???? 533484???? 952588
          -/+ buffers/cache:???? 393100??? 1682220
          Swap:????? 2008084????????? 0??? 2008084

          Mem 行顯示了從系統角度看來內存使用的情況, total是系統可用的內存大小, 數量上等于系統物理內存減去內核保留的內存. buffers和cached是系統用做緩沖的內存. buffers與某個塊設備關聯, 包含了文件系統元數據, 并且跟蹤了塊的變化. cache只包含了文件本身.

          -/+ buffers/cache行則從用戶角度顯示內存信息, 可用內存從數量上等于mem行used列值減去buffers和cached內存的大小. 因為buffers和cached是操作系統為加快系統運行而設置的, 當用戶需要時, 可以只接為用戶使用.

          top和vmstat也顯示了系統內存的信息, 和free的顯示結果類似.

          這些命令都是從/proc/meminfo中讀取內存信息.

          blue_stone@blueice:~$ cat /proc/meminfo
          MemTotal:????? 2075320 kB
          MemFree:???????? 25016 kB
          Buffers:??????? 763564 kB
          Cached:???????? 879860 kB
          SwapCached:????????? 0 kB
          Active:??????? 1056968 kB
          Inactive:?????? 843136 kB
          HighTotal:????? 917440 kB
          HighFree:??????? 13892 kB
          LowTotal:????? 1157880 kB
          LowFree:???????? 11124 kB
          SwapTotal:???? 2008084 kB
          SwapFree:????? 2008084 kB
          Dirty:??????????? 4708 kB
          Writeback:?????????? 0 kB
          Mapped:???????? 707152 kB
          Slab:?????????? 102728 kB
          CommitLimit:?? 3045744 kB
          Committed_AS:?? 691808 kB
          PageTables:?????? 2936 kB
          VmallocTotal:?? 114680 kB
          VmallocUsed:???? 14800 kB
          VmallocChunk:??? 98800 kB

          關于/proc/meminfo中各行的含意, 在內核源代碼的Documentation/filesystems/proc.txt文件中有敘述

          系統的真實內存大小可以用dmesg |grep [mM][eE][mM]看到

          blue_stone@blueice:~$ dmesg |grep [mM][eE][mM]
          895MB HIGHMEM available.
          1152MB LOWMEM available.
          ? HighMem zone: 229360 pages, LIFO batch:31
          Memory: 2073292k/2097088k available (1493k kernel code, 21648k reserved, 546k data, 196k init, 917440k highmem)
          Freeing initrd memory: 1079k freed
          ? MEM window: f8000000-f80fffff
          highmem bounce pool size: 64 pages
          Freeing unused kernel memory: 196k freed
          ehci_hcd 0000:00:10.4: irq 177, io mem 0xf8121000
          /dev/vmnet: hub 0 does not exist, allocating memory.
          [fglrx] Maximum main memory to use for locked dma buffers: 1898 MBytes.
          /dev/vmnet: hub 3 does not exist, allocating memory.
          /dev/vmnet: hub 1 does not exist, allocating memory.
          /dev/vmnet: hub 2 does not exist, allocating memory.

          進程使用的內存可以用top, ps來查看top中有3個列 VIRT? RES? SHR, 標示了進程使用的內存情況, VIRT標識這個進程可以使用的內存總大小, 包括這個進程真實使用的內存, 映射過的文件,? 和別的進程共享的內存等. RES標識這個這個進程真實占用內存的大小. SHR標識可以和別的進程共享的內存和庫大小.

          /proc/pid/status顯示一個進程的詳細狀態, 下面是一個示例:

          blue_stone@blueice:~$ cat /proc/5346/status
          Name:?? bash
          State:? S (sleeping)
          SleepAVG:?????? 98%
          Tgid:?? 5346
          Pid:??? 5346
          PPid:?? 5343
          TracerPid:????? 0
          Uid:??? 1000??? 1000??? 1000??? 1000
          Gid:??? 104???? 104???? 104???? 104
          FDSize: 256
          Groups: 6 24 29 44 104 113 1000 1001
          VmPeak:???? 6528 kB
          VmSize:???? 6528 kB
          VmLck:???????? 0 kB
          VmHWM:????? 1976 kB
          VmRSS:????? 1976 kB
          VmData:????? 752 kB
          VmStk:??????? 84 kB
          VmExe:?????? 644 kB
          VmLib:????? 1788 kB
          VmPTE:??????? 16 kB
          Threads:??????? 1
          SigQ:?? 0/4294967295
          SigPnd: 0000000000000000
          ShdPnd: 0000000000000000
          SigBlk: 0000000000000000
          SigIgn: 0000000000384004
          SigCgt: 000000004b813efb
          CapInh: 0000000000000000
          CapPrm: 0000000000000000
          CapEff: 0000000000000000

          VmSize即為該進程內存總大小, 和top輸出中的VIRT一致.

          轉至:http://www.cublog.cn/u/7667/showart_172007.html
          主站蜘蛛池模板: 福建省| 库车县| 准格尔旗| 东方市| 奉贤区| 乌鲁木齐县| 合山市| 清涧县| 工布江达县| 临汾市| 偃师市| 张家川| 疏附县| 定结县| 广州市| 三门县| 鄂温| 措美县| 西畴县| 四川省| 双峰县| 淄博市| 秦皇岛市| 留坝县| 铜梁县| 黄山市| 图木舒克市| 宾阳县| 馆陶县| 应城市| 阿合奇县| 从化市| 宜君县| 股票| 牡丹江市| 蓝山县| 格尔木市| 偏关县| 山东| 化隆| 聂拉木县|