2008-11-25 18 views
21

Trên Linux, lệnh "top" cho thấy một cái nhìn tổng quan mức độ chi tiết, nhưng cao sử dụng bộ nhớ của bạn, cho thấy:phương pháp toàn diện của việc xem sử dụng bộ nhớ trên Solaris

Tổng số bộ nhớ, sử dụng bộ nhớ, Free Memory, Buffer Cách sử dụng, Cache Cách sử dụng, kích thước hoán đổi và sử dụng hoán đổi.

Câu hỏi của tôi là, các lệnh nào có sẵn để hiển thị các số liệu sử dụng bộ nhớ này một cách rõ ràng và đơn giản? Điểm thưởng nếu chúng có mặt trong bản cài đặt "Core" của Solaris. 'sar' không được tính :)

Trả lời

2

"trên cùng" thường có sẵn trên Solaris.

Nếu không, sau đó hoàn nguyên về "vmstat" có sẵn trên hầu hết hệ thống UNIX.

Nó sẽ giống như thế này (từ một hộp AIX)

vmstat 

System configuration: lcpu=4 mem=12288MB ent=2.00 

kthr memory    page    faults    cpu 
----- ----------- ------------------------ ------------ ----------------------- 
r b avm fre re pi po fr sr cy in sy cs us sy id wa pc ec 
2 1 1614644 585722 0 0 1 22 104 0 808 29047 2767 12 8 77 3 0.45 22.3 

colums "avm" và "fre" cho bạn biết tổng số bộ nhớ và memery miễn phí.

"người vmstat" sẽ giúp bạn có được chi tiết đẫm máu.

+0

"vmstat -v" trông giống như sự phù hợp gần nhất với mọi yêu cầu! –

+0

#vmstat -v Usage: vmstat [-cipqsS] [disk ...] [interval [count]] Các số vmstat cũng không rõ ràng - bộ nhớ cache sử dụng bao nhiêu bộ nhớ? Bao nhiêu được sử dụng bởi các quá trình usermode? – user40626

0

Đầu có thể được biên dịch từ các nguồn hoặc tải xuống từ sunfreeware.com. Như đã đăng trước đây, vmstat có sẵn (tôi tin rằng nó nằm trong phần cài đặt lõi?).

19

Dưới đây là những điều cơ bản. Tôi không chắc chắn rằng bất kỳ trong số này được tính là "rõ ràng và đơn giản" mặc dù.

ps(1)

Đối với quan điểm quá trình cấp:

$ ps -opid,vsz,rss,osz,args 
    PID VSZ RSS SZ COMMAND 
1831 1776 1008 222 ps -opid,vsz,rss,osz,args 
1782 3464 2504 433 -bash 
$ 

Ứng dụng iPhone/Ứng dụng iPhone: tổng kích thước quá trình ảo (kb)

rss/RSS: cư dân thiết lập kích thước (kb, có thể không chính xác (!), xem người đàn ông)

osz/SZ: tổng kích thước trong bộ nhớ (trang)

Để tính toán kích thước byte từ các trang:

$ sz_pages=$(ps -o osz -p $pid | grep -v SZ) 
$ sz_bytes=$(($sz_pages * $(pagesize))) 
$ sz_mbytes=$(($sz_bytes/(1024 * 1024))) 
$ echo "$pid OSZ=$sz_mbytes MB" 

vmstat(1M)

$ vmstat 5 5 
kthr  memory   page   disk   faults  cpu 
r b w swap free re mf pi po fr de sr rm s3 -- -- in sy cs us sy id 
0 0 0 535832 219880 1 2 0 0 0 0 0 -0 0 0 0 402 19 97 0 1 99 
0 0 0 514376 203648 1 4 0 0 0 0 0 0 0 0 0 402 19 96 0 1 99 
^C 

prstat(1M)

PID USERNAME SIZE RSS STATE PRI NICE  TIME CPU PROCESS/NLWP  
    1852 martin 4840K 3600K cpu0 59 0 0:00:00 0.3% prstat/1 
    1780 martin 9384K 2920K sleep 59 0 0:00:00 0.0% sshd/1 
    ... 

swap(1)

"danh sách dài" và "tóm tắt" chế độ:

$ swap -l 
swapfile    dev swaplo blocks free 
/dev/zvol/dsk/rpool/swap 256,1  16 1048560 1048560 
$ swap -s 
total: 42352k bytes allocated + 20192k reserved = 62544k used, 607672k available 
$ 

top(1)

Một phiên bản cũ (3,51) có sẵn trên đĩa CD bạn đồng hành Solaris của Sun, với khuyến cáo rằng đây là "Cộng đồng (không phải Sun) được hỗ trợ". Các gói nhị phân gần đây có sẵn từ sunfreeware.com hoặc blastwave.org.

load averages: 0.02, 0.00, 0.00;      up 2+12:31:38                       08:53:58 
31 processes: 30 sleeping, 1 on cpu 
CPU states: 98.0% idle, 0.0% user, 2.0% kernel, 0.0% iowait, 0.0% swap 
Memory: 1024M phys mem, 197M free mem, 512M total swap, 512M free swap 

    PID USERNAME LWP PRI NICE SIZE RES STATE TIME CPU COMMAND 
    1898 martin  1 54 0 3336K 1808K cpu  0:00 0.96% top 
    7 root  11 59 0 10M 7912K sleep 0:09 0.02% svc.startd 

sar(1M)

Và chỉ là những gì xảy ra với sar? :)

17
# echo ::memstat | mdb -k 
Page Summary    Pages    MB %Tot 
------------  ---------------- ---------------- ---- 
Kernel      7308    57 23% 
Anon       9055    70 29% 
Exec and libs    1968    15 6% 
Page cache     2224    17 7% 
Free (cachelist)    6470    50 20% 
Free (freelist)    4641    36 15% 

Total      31666    247 
Physical     31256    244 
+4

Bạn phải root để chạy miễn phí –

-3

Lệnh free thật tuyệt. Mất một thời gian ngắn để hiểu "+/- bộ đệm/bộ nhớ cache", nhưng ý tưởng là bộ nhớ cache và bộ đệm không thực sự đếm khi đánh giá "miễn phí", vì nó có thể được bán phá giá ngay lập tức. Do đó, để xem bạn có bao nhiêu bộ nhớ miễn phí (và đã sử dụng), bạn cần phải loại bỏ việc sử dụng bộ nhớ đệm/bộ đệm - được thực hiện thuận tiện cho bạn.

+4

là lệnh Linux, không phải là lệnh Solaris. – jlliagre