> For the complete documentation index, see [llms.txt](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://linux-tutorial-cli.gitbook.io/linux-cli-tutorial/txt-files/file-systems-cocepts/lpic2-201/fstrim.md).

# fstrim Command

`fstrim` is a command used in Linux to discard unused blocks on a mounted filesystem's underlying device, typically an SSD (Solid State Drive) or other flash-based storage. Here's a detailed overview of `fstrim` and its usage:

1. **Purpose**:
   * **TRIM Support**: `fstrim` is used to inform the SSD or similar storage device about unused blocks of data that can be safely wiped or "trimmed".
   * **Performance**: TRIM helps maintain SSD performance over time by ensuring that the device can efficiently manage its storage resources.
2. **Key Features**:
   * **Filesystem Agnostic**: `fstrim` works with various filesystems that support TRIM operations, such as ext4, XFS, Btrfs, and others.
   * **Automatic or Manual**: It can be run manually or scheduled periodically (e.g., via cron) to ensure optimal SSD performance.
   * **Non-Destructive**: TRIM operations do not erase data directly but mark unused blocks as available for new data.
3. **Usage**:
   * **Manual Execution**: To manually trim a mounted filesystem, use:

     ```bash
     sudo fstrim /path/to/mounted/filesystem
     ```

     Replace `/path/to/mounted/filesystem` with the actual mount point of the filesystem you want to trim.
   * **Scheduled Execution**: To schedule `fstrim` regularly (e.g., weekly), you can add a cron job. For example, edit your cron jobs:

     ```bash
     sudo crontab -e
     ```

     Then add a line like:

     ```bash
     0 0 * * 0 fstrim -v /
     ```

     This schedules `fstrim` to run every Sunday at midnight (`0 0 * * 0`), trimming the root filesystem (`/`).
4. **Considerations**:
   * **SSD Type**: Verify that your SSD supports TRIM operations. Most modern SSDs and Linux distributions with recent kernels support TRIM.
   * **Performance Impact**: Running `fstrim` periodically can help maintain consistent SSD performance by preventing performance degradation due to fragmented data blocks.
   * **Filesystem Support**: Ensure that the filesystem used on your SSD supports TRIM operations. Older or non-TRIM-aware filesystems may not benefit from `fstrim`.
5. **Verification**:
   * **Confirm TRIM Support**: You can check if your filesystem and SSD support TRIM by examining the output of commands like `lsblk`, `hdparm`, or `blkid`.

### Conclusion

`fstrim` is a critical command for SSD maintenance in Linux environments, ensuring that unused blocks of data are efficiently managed to maintain optimal performance and longevity of SSDs. By regularly executing `fstrim`, Linux users can enhance their system's SSD performance and extend the lifespan of their storage devices.
