Java is a “memory managed” language - which means it has something called a Garbage Collector which does the job of freeing unused memory when it is needed by Java for something else. Java tends to use more memory than other languages for many reasons that I won’t go into here, but typically on modern systems this is not a problem.
You can tell Java it can use more or less memory from either the Java Console located in the Windows Control Panel (if you are running Windows), or by modifying the startup scripts for the Linux Spark version (look for -Xms and -Xmx, it will say something like -Xms256M -Xmx512M or similar)
If you are not running into problems on your system, and am simply observing large memory consumption, then I’d say this is reletively normal… unless Spark is locking up on you or causing other system issues.
Are you having a system problem caused by high java memory consumption?