• 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  kbytes    used     avail    capacity     Mounted on swap        3449940   116     3449824     1%         /tmp When a process releases memory then df -k /tmp would also show that its total file system size has increased.
  • 相关阅读:
    C语言 gets
    Android、iOS和Windows Phone中的推送技术
    Android的init过程(二):初始化语言(init.rc)解析
    Java向前引用容易出错的地方
    kears库中对样本图片resize的原理(target_size)
    gis python地理处理工具案例教程-字段多值批量替换综合案例
    arcpy地理处理工具案例教程-批量字段值替换
    arcpy地理处理工具案例教程-将满足条件的要素的字段值进行替换
    Keras split train test set when using ImageDataGenerator
    坐标转换7参数计算工具——arcgis 地理处理工具案例教程
  • 原文地址:https://www.cnblogs.com/macleanoracle/p/2968137.html
Copyright © 2020-2023  润新知