Go to file
Harshavardhana b363709c11 caching: Optimize memory allocations. (#3405)
This change brings in changes at multiple places

 - Reuse buffers at almost all locations ranging
   from rpc, fs, xl, checksum etc.
 - Change caching behavior to disable itself
   under low memory conditions i.e < 8GB of RAM.
 - Only objects cached are of size 1/10th the size
   of the cache for example if 4GB is the cache size
   the maximum object size which will be cached
   is going to be 400MB. This change is an
   optimization to cache more objects rather
   than few larger objects.
 - If object cache is enabled default GC
   percent has been reduced to 20% in lieu
   with newly found behavior of GC. If the cache
   utilization reaches 75% of the maximum value
   GC percent is reduced to 10% to make GC
   more aggressive.
 - Do not use *bytes.Buffer* due to its growth
   requirements. For every allocation *bytes.Buffer*
   allocates an additional buffer for its internal
   purposes. This is undesirable for us, so
   implemented a new cappedWriter which is capped to a
   desired size, beyond this all writes rejected.

Possible fix for #3403.
2016-12-08 20:35:07 -08:00
.github Fix peers and web UIVersion validation. (#3048) 2016-10-23 12:32:35 -07:00
buildscripts Fix checkdeps.sh on Mac (#3306) 2016-11-21 12:25:46 -08:00
cmd caching: Optimize memory allocations. (#3405) 2016-12-08 20:35:07 -08:00
docs docs: removed the Edge tag reference. (#3366) 2016-12-02 10:47:18 -08:00
pkg caching: Optimize memory allocations. (#3405) 2016-12-08 20:35:07 -08:00
vendor Vendorize recent fixes in dsync (#3365) 2016-11-28 23:03:46 -08:00
.gitignore api: Add new ListenBucketNotificationHandler. (#2336) 2016-08-04 22:01:58 -07:00
.mailmap Update AB's duplicate email address 2015-08-20 16:10:01 -07:00
.mention-bot Add mention-bot config 2016-05-20 13:53:15 -07:00
.travis.yml Fail on lint errors during CI build. 2016-12-02 18:08:12 -08:00
appveyor.yml build: Fix appveyor.yml to report windows coverage as well. (#2666) 2016-09-10 21:05:00 -07:00
CONTRIBUTING.md fix broken link for Go Installation in CONTRIBUTING.md (#2907) 2016-10-11 22:19:35 -07:00
Dockerfile Fix docker file to use binary endpoint. (#3180) 2016-11-04 18:25:30 -07:00
LICENSE Initial commit 2014-10-30 21:51:52 -07:00
main.go docs: Add comments of using canonical import paths. (#3269) 2016-11-16 16:23:32 -08:00
MAINTAINERS.md Fix the server startup messages and help text. (#3211) 2016-11-09 23:37:12 -08:00
Makefile Fail on lint errors during CI build. 2016-12-02 18:08:12 -08:00
NOTICE Fix typo 2016-03-09 13:55:58 +01:00
README.md Added a "catch all" documentation link (#3038) 2016-10-21 19:31:21 -07:00
README_ZH.md chinese translate (#2637) 2016-09-22 20:58:10 -07:00

Minio Quickstart Guide Gitter Go Report Card Docker Pulls codecov

Minio is an object storage server released under Apache License v2.0. It is compatible with Amazon S3 cloud storage service. It is best suited for storing unstructured data such as photos, videos, log files, backups and container / VM images. Size of an object can range from a few KBs to a maximum of 5TB.

Minio server is light enough to be bundled with the application stack, similar to NodeJS, Redis and MySQL.

Docker Container

Stable

$ docker pull minio/minio
$ docker run -p 9000:9000 minio/minio server /export

Edge

$ docker pull minio/minio:edge
$ docker run -p 9000:9000 minio/minio:edge server /export

Please visit Minio Docker quickstart guide for more here

OS X

Homebrew

Install minio packages using Homebrew

$ brew install minio
$ minio server ~/Photos

Binary Download

Platform Architecture URL
Apple OS X 64-bit Intel https://dl.minio.io/server/minio/release/darwin-amd64/minio
$ chmod 755 minio
$ ./minio server ~/Photos

GNU/Linux

Binary Download

Platform Architecture URL
GNU/Linux 64-bit Intel https://dl.minio.io/server/minio/release/linux-amd64/minio
32-bit Intel https://dl.minio.io/server/minio/release/linux-386/minio
32-bit ARM https://dl.minio.io/server/minio/release/linux-arm/minio
$ chmod +x minio
$ ./minio server ~/Photos

Microsoft Windows

Binary Download

Platform Architecture URL
Microsoft Windows 64-bit https://dl.minio.io/server/minio/release/windows-amd64/minio.exe
32-bit https://dl.minio.io/server/minio/release/windows-386/minio.exe
C:\Users\Username\Downloads> minio.exe server D:\Photos

FreeBSD

Binary Download

Platform Architecture URL
FreeBSD 64-bit https://dl.minio.io/server/minio/release/freebsd-amd64/minio
$ chmod 755 minio
$ ./minio server ~/Photos

Please visit official zfs FreeBSD guide for more details here

Install from Source

Source installation is only intended for developers and advanced users. If you do not have a working Golang environment, please follow How to install Golang.


$ go get -u github.com/minio/minio

Test using Minio Browser

Minio Server comes with an embedded web based object browser. Point your web browser to http://127.0.0.1:9000 ensure your server has started successfully.

Screenshot

Test using Minio Client mc

mc provides a modern alternative to UNIX commands like ls, cat, cp, mirror, diff etc. It supports filesystems and Amazon S3 compatible cloud storage services. Follow the Minio Client Quickstart Guide for further instructions.

Explore Further

Contribute to Minio Project

Please follow Minio Contributor's Guide