please describe me about buffers,cached fields and "-/+buffers/cache" row.
Buffers and cache represent information that is stored on disk that was needed in ram at some point and isn't needed in ram right now. As long as there is no other need for that ram, the redundant (with disk contents) data is kept in ram in case it might be needed again.
The -/+buffers/cache row shows what used and free memory would be if buffers and cache were counted as free rather than used. Usually that is the more meaningful way of counting used and free memory, because the memory used by buffers and cache will be treated as free if any application needs memory.
do i need to create swap partition or not?
If this level of memory use is typical for your system then you don't need
to create a swap partition.
I think it is better to have a swap partition anyway.
Your system might have some stale anonymous memory use and could be a tiny bit faster if that memory were swapped and a little more memory were available for caching. But you already have a lot of caching so such improvement if any would be tiny.
A swap partition is also a useful safety valve if you run some tasks that are much bigger than your typical use, or if some task has a memory leak. In case of a memory leak, swap space may make the system degrade smoothly rather than fail abruptly. That may give you time to diagnose and correct the problem without crashing the whole system.
We may be able to give you a better idea about creating swap space if we knew more about your current disk usage. Post your partitioning and free space, output from the following commands done as root
You should use CODE tags when posting the output of commands (including the output of free that you posted at the top of this thread). That makes it easier for us to read such output.