Solaris 上swap -s的解释

简介:
Solaris 上swap -s 命令输出的各项内容解释如下:
swap -s
total: 53609376k bytes allocated + 16159792k reserved = 69769168k used, 17837288k available
   bytes allocated : The total amount of swap space in 1024-byte blocks that is currently allocated as backing store (disk-backed swap space).   reserved: The total amount of swap space in 1024-byte blocks not currently allocated, but claimed by memory for possible future use.   used: The total amount of swap space in 1024-byte blocks that is either allocated or reserved.   available: The total amount of swap space in 1024-byte blocks that is currently available for future reservation and allocation.    一般我们可以通过以下公式计算swap 使用率:    Output of 'swap -s' is:   total: 2514952k bytes allocated + 202368k reserved = 2717320k used, 7021424k available   Swap Utilization (%) is:   (2717320/(2717320+7021424))*100   = 27.9%   但是实际上Total virtual swap = RAM backed swap + Disk backed swap   swap -l report disk backed swap usage. It does not report virtual swap usage.   Physical disk swap configured:   # /usr/sbin/swap -l   swapfile dev swaplo blocks free   /dev/zvol/dsk/uppool/swap 181,3 8 163839992 163839992   Total Disk backed swap: 163839992 x 512 = 78G    还是建议用vmstat -p 监控下换页的情况:    # vmstat 5   kthr memory page disk faults cpu r b w swap free re mf pi po fr de sr s0 s1 s2 s3 in sy cs us sy id   ...   0 0 0 3296516 38201892 4321 49454 0 0 0 0 0 0 0 6 0 11521 164084 69372 11 31 59   0 0 0 3361076 38193196 3034 34037 0 0 0 0 0 0 0 47 0 9639 107575 37481 8 24 68 0 0 0 3501776 38286380 3325 36763 0 0 0 0 0 0 0 5 0 12679 113673 42466 8 25 67   0 0 0 3545612 38326200 4935 57916 0 0 0 0 0 0 0 63 0 13688 111744 35804 12 31 56 <<   Available virtual swap: 3545612 KB =~ 3G  并关注tmpfs文件系统的使用情况,在Solaris下/tmp目录可能会占用大量swap  The space remains allocated untill you either delete the files from /tmp directory or restart the server, as at the time of restart the swap space (/tmp) is cleaned.  Example.: If an export is performed into the /tmp directory, then the swap space will decrease with the size of the export dump file.   =====   solaris_user>swap -s   total: 2879320k bytes allocated + 277104k reserved = 3156424k used, 771104k available solaris_user>dd if=/dev/zero of=/tmp/test.out count=100   100+0 records in   100+0 records out   solaris_user>swap -s   total: 2879416k bytes allocated + 277072k reserved = 3156488k used, 771040k available     High swap-space usage does not necessarily mean the system needs additional physical memory or that such usage is the reason for bad performance. High swapping in and out activities (observable with vmstat -p) can lead to performance problems: some processes have to wait for swapping activities to be finished before the processes run forward. Moreover, swapping is a single-threaded activity.   In some cases, you must also be aware of the available swap space. For example, the system runs hundreds or even thousands of Oracle session processes or Apache processes, and each process needs to reserve or allocate some swap space. In such cases, you must allocate an adequate swap device or add multiple swap devices.
Tmpfs
One difference between Solaris and other operating systems is /tmp, which is a nonpersistent, memory-based file system on Solaris (tmpfs). Tmpfs is designed for the situation in which a large number of short-lived files (like PHP sessions) need to be written and accessed on a fast file system. You can also create your own tmpfs file system and specify the size. See the man page for mount_tmpfs(1M).   Solaris also provides a ramdisk facility. You can create a ramdisk with ramdiskadm(1M) as a block device. The ramdisk uses physical memory only. By default, at most 25 percent of available physical memory can be allocated to ramdisks. The tmpfs file system uses virtual memory resources that include physical memory and swap space.   Large-sized files placed in tmpfs can affect the amount of memory space left over for program execution. Likewise, programs requiring large amounts of memory use up the space available to tmpfs. If you encounter this constraint (for example, running out of space on tmpfs), you can allocate more swap space by using the swap(1M) command. Avoid swapping in this case because swapping indicates shortage of physical memory and hurts performance even if swap space is sufficient.   tmpfs Filesystem   tmpfs file system also reports about virtual swap usage.tmpfs is a memory resident file system. It uses the page cache for caching file data. Files created in a tmpfs file system avoid physical disk read and write. The primary goal of designing tmpfs was to improve read/write performance of short lived files without invoking network and disk I/O. tmpfs does not use a dedicated memory such as a "RAM DISK". Instead it uses virtual memory (VM) maintained by the kernel. This allows it to use VM and kernel resource allocation policies. Tmpfs files are written and read directly from the kernel memory. Pages allocated to tmpfs files are treated the same way as any other physical memory pages. Physical memory assigned to tmpfs files uses anonymous memory to store file data. The kernel does not differentiate tmpfs file data from the page cache. During memory pressure, tmpfs pages can be freed and written back to the physical swap device if the page daemon selects them as candidates for such. It is the user's responsibility to keep a back up of tmpfs files by copying tmpfs files to disk based file system such as ufs. Otherwise, tmpfs files will be lost in case of a crash or reboot.   Tmpfs size changes dynamically depending upon how much virtual swap is available. The "kbytes" column in "df -k /tmp" output is the amount of swap space available, rather than the total. The tmpfs file system also has a minfree, so the total is slightly less than the amount of swap available. "kbytes" column of "df -k /tmp" output actually correspond to "swap -s" output of swap available. Normally, these two numbers are pretty close. The difference is due to the tmpfs_minfree value, which is 2MB by default. # df -kl -Z /tmp Filesystem                                                                                                  本文转自maclean_007 51CTO博客,原文链接:http://blog.51cto.com/maclean/1278788
相关文章
|
10月前
|
Linux
linux swap交换区满了怎么办(已解决)
linux swap交换区满了怎么办(已解决)
1161 0
|
缓存 Linux
linux swap交换分区详解
linux swap交换分区详解
|
缓存 算法 Linux
linux通过free查看内存解析和swap的设置
linux通过free查看内存解析和swap的设置
linux通过free查看内存解析和swap的设置
|
缓存 Linux 调度
10.20 Linux swap分区及作用详解
我们在安装系统的时候已经建立了 swap 分区。swap 分区通常被称为交换分区,这是一块特殊的硬盘空间,即当实际内存不够用的时候,操作系统会从内存中取出一部分暂时不用的数据,放在交换分区中,从而为当前运行的程序腾出足够的内存空间。
379 0
10.20 Linux swap分区及作用详解
|
Linux 开发工具
Linux 创建 swap空间
[root@sannian mnt]# dd if=/dev/zero of=/mnt/swapfile bs=1M count=20480 20480+0 records in 20480+0 records out 21474836480 bytes (21 GB) copied, 193.
1392 0