Preflight check tool

The preflight check tool is a collection of tests that can be run on a DataStax Enterprise node to detect and fix node configurations. The tool can detect and optionally fix many invalid or suboptimal configuration settings, such as user resource limits, swap, and disk settings.

The default location of the preflight check tool depends on the type of installation:

  • Package installations: /usr/share/dse/tools/pfc

  • Tarball installations: <install_location>/tools/pfc


sudo ./preflight_check
[-h] [-f]
[--ssd=SSD_devices] [--nossd]

Run the preflight check without options to run all tests.


The short form and long form parameters are comma-separated.

Command arguments


Comma separated lists of HDDs: /dev/sda,/dev/sdb,…​


Time (in seconds) for each test disk benchmark. Set to simulate a normal load.


Number of threads for each disk benchmark. Set to simulate a normal load.

-f, -fix

Attempt to fix issues.

-h, -help

Show help and exit.


The node does not have SSDs.


Comma separated lists of SSDs: /dev/sda,/dev/sdb,…​


Location of cassandra.yaml file


Run the preflight check with all tests

sudo ./preflight_check
INFO    Blockdev readahead values are within reason.

INFO    vm.max_map_count set correctly.

INFO    Limits were correctly setup.

INFO    '/etc/security/limits.d/90-nproc.conf' does not exist. Shouldn't need this fix.

WARNING Use --ssd or --nossd to signal ssd usage.
ERROR   SSD check did not complete successfully.

INFO    Swap disabled.

WARNING Please ensure '/var/lib/cassandra/data' and '/var/lib/cassandra/commitlog' are linked to seperate devices.
ERROR   Yaml check did not complete successfully.

WARNING Use --device to signal devices to benchmark.
ERROR   Disk benchmarks check did not complete successfully.

Creating custom preflight check

Create a custom preflight check to detect and fix specified configuration settings on DataStax Enterprise nodes.


  1. Create a new Python file in /checks:

    cd /checks
  2. Add the new test to the all section of /checks/

    __all__ = ['my_test', 'disk', 'blockdev', ...]
  3. Add your test to the preflight_check script.

  4. Run the preflight check script with the new test:

    sudo ./preflight_check [ options ]

Was this helpful?

Give Feedback

How can we improve the documentation?

© 2024 DataStax | Privacy policy | Terms of use

Apache, Apache Cassandra, Cassandra, Apache Tomcat, Tomcat, Apache Lucene, Apache Solr, Apache Hadoop, Hadoop, Apache Pulsar, Pulsar, Apache Spark, Spark, Apache TinkerPop, TinkerPop, Apache Kafka and Kafka are either registered trademarks or trademarks of the Apache Software Foundation or its subsidiaries in Canada, the United States and/or other countries. Kubernetes is the registered trademark of the Linux Foundation.

General Inquiries: +1 (650) 389-6000,