Solaris differences from AIX and Linux

 

Solaris has some differences than AIX and Linux. AIX and Linux has more similar parts.

Solaris differences may seem like abnormalities to some users at first sight but they are obviously not J
Just dont forget that they are just results of other design perspectives and different point of views.

In this article we will try to explain some major Solaris differences.

Again dont forget that everything has trade-offs and comes with their advantages and disadvantages.
Solaris may seem a little different but reason is not creating more troubles, nobody loves troubles, you must believe it.

 

-       ZFS
Solaris has ZFS file system. ZFS file system is the file system used at Oracle’s storage solution named ZFSSA. ZFS file system is a storage-level advanced file system having advanced features. For example, one unique and really valuable feature we admire is getting snapshot differences by means of “zfs diff command.It is really a unique feature you cant find anywhere else and you have this feature free. ZFS file system is not journal-based, it is transactional. Every IO is atomic and every IO gets commit like Oracle database. ZFS has no inode-limit at its file system config, you can create billions of files.  ZFS also implements thin provisioning by default and that’s why df output of Solaris seems a little bit different than AIX and Linux. Thin provisioning is widely used at storages and it is good for effective disk consumption. Totally, ZFS is really a good file system  but ZFS COW feature may consume more memory than XFS or JFS2. ZFS ARC file cache may become another component consuming more memory.  You can only specify min and max limits for this ARC cache but there is no parametre like swappiness at Solaris. Solaris automatically manages itself very well, it determines when to drop which file cache pages on demand etc. File cache is an ordinary consept but it is not a meaningless feature when compared to serving IO from memory instead of going to disk.  So, dropping file cache may not always be harmless. Solaris OS may require more memory than AIX and Linux. Because designs and necessities differ, it may not always be the correct action to give same amount of memory when making comparision benchmarks with Solaris,AIX,and Linux.

 

-       Solaris memory and swap management mystery ( for details examine here)

Solaris memory Management uses early binding. It means it cares reservation requests.
AIX-Linux uses late binding. It means they dont care memory reservation requests.

AIX-Linux aims servicing max application with same amount of RAM, so they dont care reservation. Additionally, they need mechanisms like over-committing,balloon memory,oom-killer.

Solaris behaves more controlled and conservative at its design because it respects reservations and thinks that killing applications due to oom-killer may be risky for application health, especially with heavy-loaded mission critical applications. Discarding reservation may be achieved at application code level with MAP_NORESERVE flag at Solaris, again a conservative approach delegated to app code level for better app health. Such memory Management design requires more swap disk area for solaris. You can give little swap values at AIX or Linux but havingPhysical Swap Disk = 0.75 * Physical RAM” is really a necessity for not living problems and having good performance at Solaris. People are not used to such big swap areas but it is important for Solaris. You must give what solaris needs and you must believe that Solaris manages itself very well. Solaris swapfs management is really complex and not easy to understand. You can partially understand but you can not totally understand.That’s why we call it MYSTERY. Solaris OS may require more SWAP space than AIX and Linux. Because designs and necessities differ, it may not always be the correct action to give same amount of SWAP when making comparision benchmarks with Solaris,AIX,and Linux.

 

 

-       Solaris  /tmp mystery ( for details examine here)

Temporary area may be needed both by applications and users at your OS. Solaris cares better performance for temporary application files much more than user temp files.  So /tmp is tmpfs rather than an ordinary file system for better application response times as many applications generally use /tmp for their temp area. This is by design but implementing tmpfs again brings the trade-off about consuming much more memory. Solaris OS may consume more memory than AIX and Linux. Because designs and necessities differ, it may not always be the correct action to give same amount of memory when making comparision benchmarks with Solaris,AIX,and Linux. Solaris thinks that users may use /var/tmp for their temp files. Applications must use /tmp for app temp files. Solaris design also logically thinks and combines “/tmp datawithswap data” because they are all temporary at the end”. But this also increases complexity of tmpfs and swapfs mechanisms. Also because of this combination, you must always set upper limit for your /tmp. We again offer you giving what solaris needs and trusting solaris that it will manage itself very well. Solaris swapfs-tmpfs mechanisms are not easy to understand, you can partially understand but you can not totally understand. That’s why we call it MYSTERY.

 

 

Feel free to communicate by bulent.yucesoy@gmail.com