{"id":1355,"date":"2018-02-25T05:28:32","date_gmt":"2018-02-25T03:28:32","guid":{"rendered":"https:\/\/community.virtono.com\/?p=1355"},"modified":"2023-06-21T11:54:44","modified_gmt":"2023-06-21T08:54:44","slug":"compile-fio","status":"publish","type":"post","link":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compile-fio\/","title":{"rendered":"Compile Fio"},"content":{"rendered":"<p><strong>Learn about Fio:<\/strong><\/p>\n<ol>\n<li><a href=\"https:\/\/virtono.com\/community\/news-announcements\/fio\" target=\"_blank\" rel=\"noopener\">Fio<\/a><\/li>\n<li><a href=\"https:\/\/virtono.com\/community\/news-announcements\/fio-basics\" target=\"_blank\" rel=\"noopener\">Fio Basics<\/a><\/li>\n<li><a href=\"https:\/\/virtono.com\/community\/news-announcements\/compile-fio\" target=\"_blank\" rel=\"noopener\">Compile Fio<\/a><\/li>\n<li><a href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/visualize-fio-logs-with-fio2gnuplot\/\">Visualize Fio Logs with fio2gnuplot<\/a><\/li>\n<\/ol>\n<p><b>Fio<\/b>\u00a0is a tool for measuring IO performance.\u00a0This article shows how you can\u00a0<b>compile<\/b>\u00a0Fio yourself with the associated source code\u00a0.\u00a0You can also use the source code from the git repository.<\/p>\n<div id=\"ez-toc-container\" class=\"ez-toc-v2_0_73 counter-hierarchy ez-toc-counter ez-toc-light-blue ez-toc-container-direction\">\n<div class=\"ez-toc-title-container\">\n<p class=\"ez-toc-title\" style=\"cursor:inherit\">Table of Contents<\/p>\n<span class=\"ez-toc-title-toggle\"><a href=\"#\" class=\"ez-toc-pull-right ez-toc-btn ez-toc-btn-xs ez-toc-btn-default ez-toc-toggle\" aria-label=\"Toggle Table of Content\"><span class=\"ez-toc-js-icon-con\"><span class=\"\"><span class=\"eztoc-hide\" style=\"display:none;\">Toggle<\/span><span class=\"ez-toc-icon-toggle-span\"><svg style=\"fill: #999;color:#999\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" class=\"list-377408\" width=\"20px\" height=\"20px\" viewBox=\"0 0 24 24\" fill=\"none\"><path d=\"M6 6H4v2h2V6zm14 0H8v2h12V6zM4 11h2v2H4v-2zm16 0H8v2h12v-2zM4 16h2v2H4v-2zm16 0H8v2h12v-2z\" fill=\"currentColor\"><\/path><\/svg><svg style=\"fill: #999;color:#999\" class=\"arrow-unsorted-368013\" xmlns=\"http:\/\/www.w3.org\/2000\/svg\" width=\"10px\" height=\"10px\" viewBox=\"0 0 24 24\" version=\"1.2\" baseProfile=\"tiny\"><path d=\"M18.2 9.3l-6.2-6.3-6.2 6.3c-.2.2-.3.4-.3.7s.1.5.3.7c.2.2.4.3.7.3h11c.3 0 .5-.1.7-.3.2-.2.3-.5.3-.7s-.1-.5-.3-.7zM5.8 14.7l6.2 6.3 6.2-6.3c.2-.2.3-.5.3-.7s-.1-.5-.3-.7c-.2-.2-.4-.3-.7-.3h-11c-.3 0-.5.1-.7.3-.2.2-.3.5-.3.7s.1.5.3.7z\"\/><\/svg><\/span><\/span><\/span><\/a><\/span><\/div>\n<nav><ul class='ez-toc-list ez-toc-list-level-1 ' ><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-1\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compile-fio\/#Obtain_source_code\" title=\"Obtain source code\">Obtain source code<\/a><ul class='ez-toc-list-level-3' ><li class='ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-2\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compile-fio\/#By_download\" title=\"By download\">By download<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-3'><a class=\"ez-toc-link ez-toc-heading-3\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compile-fio\/#Per_git_repo\" title=\"Per git repo\">Per git repo<\/a><\/li><\/ul><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-4\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compile-fio\/#Compile\" title=\"Compile\">Compile<\/a><\/li><li class='ez-toc-page-1 ez-toc-heading-level-2'><a class=\"ez-toc-link ez-toc-heading-5\" href=\"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compile-fio\/#To_install\" title=\"To install\">To install<\/a><\/li><\/ul><\/nav><\/div>\n<h2><span class=\"ez-toc-section\" id=\"Obtain_source_code\"><\/span><span id=\"Source_Code_beziehen\" class=\"mw-headline\">Obtain source code<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<h3><span class=\"ez-toc-section\" id=\"By_download\"><\/span><span id=\"Per_Download\" class=\"mw-headline\">By download<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The Fio source code can be downloaded from the\u00a0<a class=\"external text\" href=\"https:\/\/github.com\/axboe\/fio\" rel=\"nofollow noopener\" target=\"_blank\">Fio Github website<\/a>\u00a0(github.com):<\/p>\n<pre>$ wget https:\/\/github.com\/axboe\/fio\/archive\/fio-2.14.tar.gz\n<\/pre>\n<p>In the first step, the tar.gz is unpacked:<\/p>\n<pre>$ tar -xzvf fio-2.14.tar.gz\n$ ls\nfio-2.14.tar.gz fio-fio-2.14\n<\/pre>\n<h3><span class=\"ez-toc-section\" id=\"Per_git_repo\"><\/span><span id=\"Per_Git-Repo\" class=\"mw-headline\">Per git repo<\/span><span class=\"ez-toc-section-end\"><\/span><\/h3>\n<p>The current commits and updates can always be viewed on the website\u00a0<a class=\"external free\" href=\"http:\/\/git.kernel.dk\/?p=fio.git;a=summary\" rel=\"nofollow noopener\" target=\"_blank\">http:\/\/git.kernel.dk\/?p=fio.git;a=summary<\/a>\u00a0.\u00a0More information about Git can be found in the\u00a0category Git\u00a0.\u00a0To clone the Fio repository, use the following command:<\/p>\n<pre>$ git clone https:\/\/github.com\/axboe\/fio.git\n$ ls\nfio\n<\/pre>\n<p>From the git repo new updates can be obtained regularly:<\/p>\n<pre>$ cd fio\n$ git pull\n[...]\n<\/pre>\n<p>Thereafter, Fio can be recompiled to install the latest version.<\/p>\n<h2><span class=\"ez-toc-section\" id=\"Compile\"><\/span><span id=\"Kompilieren\" class=\"mw-headline\">Compile<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>Compiling requires a build environment (make etc.).\u00a0In addition, the &#8220;libaio&#8221; library must be installed for asynchronous IO accesses.<\/p>\n<pre>$ sudo apt-get install libaio1 libaio-dev\n[...]\n$ ls\narch client.c diskutil.c fifo.h fio.c flow.c helpers.h iolog.c log.h mutex.h profile.c REPORTING-BUGS stat.c trim.h\nbackend.c compiler diskutil.h file.h fio_generate_plots flow.h HOWTO iolog.h Makefile options.c profile.h server.c stat.h verify.c\nblktrace_api.h COPYING engines filehash.c fio_generate_plots.1 gettime.c init.c io_u.c memalign.c options.h profiles server.ht verify.h\nblktrace.c crc eta.c filehash.h fio.h gettime.h io_ddir.h lib memalign.h os rbtree.c SERVER-TODO time.c\ncgroup.c debug.c examples filesetup.c FIO-VERSION-GEN hash.h ioengine.h libfio.c memory.c parse.c rbtree.h smalloc.c time.h\ncgroup.h debug.h fifo.c fio.1 flist.h helpers.c ioengines.c log.c mutex.c parse.h README smalloc.h trim.c\n$ make\nFIO_VERSION = fio-2.0.9-3-ga7321\n    DEP .depend\n[...]\n    CC profiles \/ tiobench.o\n    CC fio\n<\/pre>\n<h2><span class=\"ez-toc-section\" id=\"To_install\"><\/span><span id=\"Installieren\" class=\"mw-headline\">To install<\/span><span class=\"ez-toc-section-end\"><\/span><\/h2>\n<p>The compiled binary files are finally copied to the corresponding directories:<\/p>\n<pre>$ sudo make install\ninstall -m 755 -d \/ usr \/ local \/ bin\ninstall fio fio_generate_plots \/ usr \/ local \/ bin\ninstall -m 755 -d \/ usr \/ local \/ man \/ man1\ninstall -m 644 fio.1 \/ usr \/ local \/ man \/ man1\ninstall -m 644 fio_generate_plots.1 \/ usr \/ local \/ man \/ man1\n$ fio --version\nfio-2.0.9-3-ga7321<\/pre>\n","protected":false},"excerpt":{"rendered":"<p>Learn about Fio: Fio Fio Basics Compile Fio Visualize Fio Logs with fio2gnuplot Fio\u00a0is a tool for measuring IO performance.\u00a0This article shows how you can\u00a0compile\u00a0Fio yourself with the associated source code\u00a0.\u00a0You can also use the source code from the git repository. Obtain source code By download The Fio source code<\/p>\n","protected":false},"author":4,"featured_media":1361,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"jetpack_post_was_ever_published":false},"categories":[3],"tags":[],"class_list":["post-1355","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-tutorial-how-to"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/97b5ea945a196ef49b38d973fbc02d9c_medium.png?fit=555%2C480&ssl=1","jetpack_sharing_enabled":true,"jetpack_shortlink":"https:\/\/wp.me\/p7ISfL-lR","jetpack_likes_enabled":true,"jetpack-related-posts":[{"id":1353,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/fio\/","url_meta":{"origin":1355,"position":0},"title":"Fio","author":"Shreyash Sharma","date":"February 23, 2018","format":false,"excerpt":"Learn about Fio: Fio Fio Basics Compile Fio Visualize Fio Logs with fio2gnuplot What is Fio? Fio\u00a0(Flexible I \/ O Tester) is an I \/ O performance benchmarking tool for Linux, other Unix systems as well as Windows.\u00a0Fio's author is\u00a0Jens Axboe\u00a0, maintainer of the block layer of the Linux kernel.In\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/dotlayer.com-how-to-use-fio-to-measure-disk-performance-in-linux.jpeg?fit=1200%2C672&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/dotlayer.com-how-to-use-fio-to-measure-disk-performance-in-linux.jpeg?fit=1200%2C672&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/dotlayer.com-how-to-use-fio-to-measure-disk-performance-in-linux.jpeg?fit=1200%2C672&ssl=1&resize=525%2C300 1.5x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/dotlayer.com-how-to-use-fio-to-measure-disk-performance-in-linux.jpeg?fit=1200%2C672&ssl=1&resize=700%2C400 2x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/dotlayer.com-how-to-use-fio-to-measure-disk-performance-in-linux.jpeg?fit=1200%2C672&ssl=1&resize=1050%2C600 3x"},"classes":[]},{"id":1356,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/visualize-fio-logs-with-fio2gnuplot\/","url_meta":{"origin":1355,"position":1},"title":"Visualize Fio Logs with fio2gnuplot","author":"Daniel Draga","date":"February 26, 2018","format":false,"excerpt":"Learn about Fio: Fio Fio Basics Compile Fio Visualize Fio Logs with fio2gnuplot Fio offers the possibility to\u00a0log\u00a0the performance values with\u00a0log files\u00a0during test runs\u00a0.\u00a0At certain intervals, the achieved\u00a0performance values are written\u00a0to a file.\u00a0fio2gnuplot\u00a0is a script that\u00a0generates\u00a0graphs\u00a0from these log files\u00a0.\u00a0It can also\u00a0generate\u00a0comparative\u00a0graphs\u00a0from multiple logs\u00a0. installation fio2gnuplot\u00a0since\u00a0Fio\u00a0Version 2.1.2 part of Fio.\u00a0Under\u00a0Ubuntu 14.04\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"Fio2gp-512K-seq-read bw-2Draw.png","src":"https:\/\/i0.wp.com\/www.thomas-krenn.com\/de\/wikiDE\/images\/thumb\/3\/34\/Fio2gp-512K-seq-read_bw-2Draw.png\/120px-Fio2gp-512K-seq-read_bw-2Draw.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1354,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/fio-basics\/","url_meta":{"origin":1355,"position":2},"title":"Fio basics","author":"Shreyash Sharma","date":"February 24, 2018","format":false,"excerpt":"Learn about Fio: Fio Fio Basics Compile Fio Visualize Fio Logs with fio2gnuplot Fio is an acronym for\u00a0Flexible IO Tester\u00a0and refers to a tool for measuring IO performance.\u00a0With Fio, devices such as hard drives or SSDs can be tested for speed by\u00a0running\u00a0a user-defined\u00a0workload\u00a0and collecting performance data.\u00a0The following article provides answers\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/handson-lab-how-to-unleash-your-storage-performance-by-using-nvm-express-based-pci-express-solidstate-drives-30-638.jpg?fit=638%2C359&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/handson-lab-how-to-unleash-your-storage-performance-by-using-nvm-express-based-pci-express-solidstate-drives-30-638.jpg?fit=638%2C359&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/handson-lab-how-to-unleash-your-storage-performance-by-using-nvm-express-based-pci-express-solidstate-drives-30-638.jpg?fit=638%2C359&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":3255,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/how-to-install-nagios-on-centos-7\/","url_meta":{"origin":1355,"position":3},"title":"How to install Nagios on CentOS 7","author":"George B.","date":"April 16, 2023","format":false,"excerpt":"In this article, we will discuss how to install Nagios on CentOS 7. Nagios is a powerful monitoring system that can help you keep track of your network resources, services, and applications. Before we begin, make sure that you have root access to the server you will be installing Nagios.\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/04\/How-to-install-Nagios-on-CentOS.png?fit=600%2C330&ssl=1&resize=350%2C200","width":350,"height":200,"srcset":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/04\/How-to-install-Nagios-on-CentOS.png?fit=600%2C330&ssl=1&resize=350%2C200 1x, https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2023\/04\/How-to-install-Nagios-on-CentOS.png?fit=600%2C330&ssl=1&resize=525%2C300 1.5x"},"classes":[]},{"id":1341,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian-2\/","url_meta":{"origin":1355,"position":4},"title":"Compiling Linux kernels under Ubuntu or Debian","author":"Shreyash Sharma","date":"February 21, 2018","format":false,"excerpt":"Compiling a Linux kernel is not an everyday occurrence for most administrators.\u00a0It is all the more important\u00a0to know\u00a0the right\u00a0tools\u00a0when the time comes.\u00a0The following article shows examples of how Mainline \/ Vanilla Kernel and the distribution-specific\u00a0kernel are compiled\u00a0. \u00a0 Install required software The following packages are needed to compile: $ sudo\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2018\/02\/kernel1.png?fit=400%2C225&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]},{"id":1243,"url":"https:\/\/www.virtono.com\/community\/tutorial-how-to\/compiling-linux-kernels-under-ubuntu-or-debian\/","url_meta":{"origin":1355,"position":5},"title":"Compiling Linux kernels under Ubuntu or Debian","author":"Daniel Draga","date":"November 6, 2017","format":false,"excerpt":"Compiling a Linux kernel is not an everyday occurrence for most administrators.\u00a0It is all the more important\u00a0to know\u00a0the right\u00a0tools\u00a0when the time comes.\u00a0The following article shows examples of how Mainline \/ Vanilla Kernel and the distribution-specific\u00a0kernel are compiled. Install required software The following packages are needed to compile: $ sudo apt-get\u2026","rel":"","context":"In &quot;Tutorials&quot;","block_context":{"text":"Tutorials","link":"https:\/\/www.virtono.com\/community\/category\/tutorial-how-to\/"},"img":{"alt_text":"","src":"https:\/\/i0.wp.com\/www.virtono.com\/community\/wp-content\/uploads\/2017\/11\/517444-636210253990788094_270x480_thumb.jpg?fit=480%2C270&ssl=1&resize=350%2C200","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1355","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/comments?post=1355"}],"version-history":[{"count":3,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1355\/revisions"}],"predecessor-version":[{"id":3526,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/posts\/1355\/revisions\/3526"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media\/1361"}],"wp:attachment":[{"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/media?parent=1355"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/categories?post=1355"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.virtono.com\/community\/wp-json\/wp\/v2\/tags?post=1355"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}