I have a Raspberry Pi that is being used only for displaying a single webpage. I have the memory split set at 64M for the GPU. The display does not require sound, web-video, usb-devices, user-input. The only things connected are an HDMI cable and an Edimax WiFi adapter.

Will I get better performance if I blacklist a lot of kernel modules, like I2C, SPI, / etc ?

I've done blacklisting before for a few modules - by adding lines like these:

blacklist spi-bcm2708
blacklist i2c-bcm2708

to the /etc/modprobe.d/raspi-blacklist.conf file.

If blacklisting kernel modules would boost performance, then how do can I figure out all the other ones I can blacklisted? Is there a master list somewhere? I haven't had any luck when searching the web.

  • More GPU memoery might speed up the browser since it may use OpenGL to render allot of things.
    – Piotr Kula
    Mar 18, 2015 at 19:55

2 Answers 2


No [but see comments for some edge cases].

They are only loaded if required. "Required" here includes the presence of certain hardware. For example, if you have a wifi adapter attached but are not using it, the relevant kernel driver will be loaded since just recognizing the adapter and making it available for use requires the driver. Note in this case you can rmmod the driver; it will not keep re-loading mysteriously.

Loaded means into memory. If the driver isn't actually doing anything (because, e.g., you aren't using the wifi adapter), then it doesn't require any other resources and will not impact system performance -- beyond slightly reducing the amount of available RAM.

You can see how much RAM this is by looking at /proc/modules; the first field is the name of the module, the second is the memory it occupies in bytes. Usually this is 10-50k per. These are only actually loaded modules, the list of available ones is obviously much longer.

The total on your system will probably be less than a few megabytes. It is not worthwhile going through this list to free up 10k here or 35k there unless you are certain you understand what these things are for and you suffer from "obsessive compulsive configuration disorder" ;)

  • +1 - thx for all the details. Also, seems like maybe your first line should say Yes - but only an insignificant amount as it does have some measurable ( although tiny) effect
    – cwd
    Jan 15, 2015 at 0:19
  • There's also the caveat that loading more software -- be it kernel modules or anything else -- does increase the risk of some malfunctioning something hampering performance. Outside of that though, simply occupying memory does not directly hamper performance even "an insignificant amount". It might indirectly on a system that is maxed out, memory wise -- but in that context on the 512 MB pi, removing a few kernel modules won't help.
    – goldilocks
    Jan 15, 2015 at 1:10

I don't think removing modules will make any measurable difference in performance.

Why not boot a Pi and leave it running for 24 hours. Then do a ps -aux (or whatever) to get the time used by each process. Perhaps something will stand out that you don't need.

  • sorry - have to downvote you on this. you are just giving me your opinion ( 'I don't think [it] ... will make any difference') with no details on how to determine this objectively, and no reference to backup your thoughts. Also, my question is not asking about determining which processes are consuming the most resources - it's fine to mention this but why give details on how to do this but no details on what the question is specifically asking about?
    – cwd
    Jan 15, 2015 at 0:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.