How many users are behind that 200D? The 200D is quite good.
Also what firmware version are you running? Some older firmware seem to use much more ram than current revisions.
Try upgrading to whatever is current for the branch you are in. 5.2.x or 5.4.x. Possibly try 5.6... but I'd stay with 5.4 for now.
Also limiting the session TTL and DNS cache will really reduce the ram usage by not keeping "old" TCP connections open for so long. It has to remember all of these in ram. The only drawback I had when lowering the TTL is on our site-to-site VPN's where clients use telnet. The telnet session will timeout after the TTL and will disconnect. Almost all other kinds of web traffic will simply re-open the connection if needed.
If you need to fix the issue like I had with site-to-site and telnet. Don't set the "global" TTL as in the below example. Look up how to set per interface ttl.
change the default session TTL: config system session-ttl
set default 300
change the fortiguard TTL: config system fortiguard
set webfilter-cache-ttl 500
set antispam-cache-ttl 500
change DNS cache: config system dns
set dns-cache-limit 300
300E x3, 200D, 140D, 94D, 90D x2, 80D, 40C, handful of 60E's.. starting to loose track.
I don't get it why Fortinet does not have this kind of information in their product's datasheet. It would be very easy. Some clients need to have a written proof of the hardware performance from the vendor...they need to see the RAM,CPU and flash. It would be very useful such a document in the future...
replacing a 200D now isnt weird but still i would contact support or your partner to determine if that CPU and memory usage makes sense compared to the amount of traffic you send through it. in principle if you remain within the specs you shouldnt have such issues.
The Fortinet Security Fabric brings together the concepts of convergence and consolidation to provide comprehensive cybersecurity protection for all users, devices, and applications and across all network edges.