You're running SQL Server on this machine, so it's doing what SQL Server does - it reserves (almost) all the memory available on the OS, so that when it gets big queries or other operations, it doesn't have to allocate RAM, it already has it.
You have a few options.
- Accept it. If you're only running SQL Server on this machine, then it's operating as intended. Leave it alone.
- Cap it. If you're required to run other workloads on this server, you can limit the amount of RAM that SQL will reserve.
I would absolutely not do option 2 unless SQL is never using the RAM it soaks up. You will only know this if you're measuring OS-level SQL performance counters and SQL-level dynamic management views.
Big picture, what problem are you actually trying to solve? "Freeing up memory" in this scenario is a pointless task unless you know you're freeing it up for something else to use. Are you having SQL performance problems, and if so, how have you determined that you're bottlenecked by RAM instead of, for example, bad index design or unoptimized queries?
What I'm leading you to is use proper monitoring to diagnose performance problems. You need to know a lot about SQL and a decent amount about Windows to do this. If you're not a DBA, hire one or get one in on a contract, or work with your software vendor if this is SQL for a purchased product. If it's something your company wrote itself without a DBA, go get one.
https://docs.microsoft.com/en-us/sql/relational-databases/performance-monitor/monitor-memory-usage?view=sql-server-ver15
By default, a SQL Server instance may over time consume most of the
available Windows operating system memory in the server. Once the
memory is acquired, it will not be released unless memory pressure is
detected. This is by design and does not indicate a memory leak in the
SQL Server process.
/Edit based on your edit:
Although I'm not a system admin, it seems to me that sql server is
using up little memory because everything else is being consumed by
Windows.
You're almost definitely wrong here. As I mention above, SQL server will allocate almost all of the system RAM over time. The amount of RAM in use by the sqlserver.exe process is NOT telling you how much RAM that SQL has actually allocated. The DMVs and perfcounters will tell you that.
I use SSMS to work with the databases, and I notice firsthand how slow
everything is. Even simple things like opening the tables pane to see
all my tables take a while and sometimes times out.
Don't run that on the SQL server, run it from your workstation.